解决:bmob数据库类型,invalid type for key 'user_id', expected 'Pointer', but got 'String'

本文介绍了在使用Bmob作为数据库存储时,如何正确处理Pointer类型的字段,避免因数据类型不匹配导致的错误。通过具体实例,展示了如何将字符串转换为Pointer类型,并成功进行数据的插入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
我用的是bmob作为数据库进行数据的存储,如上图所示,例如user_id字段,它是pointer类型,关联到user表。当我想直接使用
set操作进行数据插入时,发现报以下错误:

query.set('user_id',‘XXXXXXX’);
invalid type for key 'user_id', expected 'Pointer', but got 'String'

错误的意思就是user_id的数据类型是pointer,而我直接插入了一个string字段串。
解决办法:

const pointer = Bmob.Pointer('user');    //user为user_id字段关联的数据库表
const poiID = pointer.set('XXXXXXXXX');   //XXXXXXXXX指的是这条数据对应的user表id,也就是关联的user的主键
const query = Bmob.Query('authentication');   //authentication为我这条数据的数据库表名;
query.set('user_id', poiID);                 //接下来就可以做增删查改了,我这里做的是新增一条数据
query.save().then(res => {
      console.log(res)
    }).catch(err => {
      console.log(err)
    })
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值