const post_data = {
_id: event.id
}
console.log(post_data)
await db.collection('test').add({
data: post_data
}).then(res => {
})
上面这段代码里面,console.log 是可以正常打印出东西的,但是 add 到库里头就是 _id:null。
而我把 event.id 用 event.userInfo.openId 就是可以正常添加到库里,这究竟是为什么,深拷贝也没法解决问题
我终于明白了,原来 _id 的值是要求全局唯一的,这个 event.id 我传的是另一张表里面的 _id 的,想要插入到这张表里头,然后就会一直替我把这个冲突的值变为 null。真是坑,害我弄了一晚上,还好我突然想起会不会是唯一键的问题,还果然是,唉~
而且这个冲突的 _id 值得是系统自动生成的才行,系统自动生成的才会保证全局唯一,如果是自定义的 _id 值就不会。例如我在别的表里用 openid 作为 _id 值,然后在这张表里头插入 _id:openid 是可行的。
_id的值只能数据库自动生成不能自行设置的,你得换个字段名
可以设置的,我用 openid 是可以的设置的