收藏
回答

云开发 event.xx 的参数为什么不能插到库里头?

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 客户端 wx4555829d9f15671d 2.2.5

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 就是可以正常添加到库里,这究竟是为什么,深拷贝也没法解决问题

回答关注问题邀请回答
收藏

2 个回答

  • 2019-03-15

    我终于明白了,原来 _id 的值是要求全局唯一的,这个 event.id 我传的是另一张表里面的 _id 的,想要插入到这张表里头,然后就会一直替我把这个冲突的值变为 null。真是坑,害我弄了一晚上,还好我突然想起会不会是唯一键的问题,还果然是,唉~

    2019-03-15
    有用
    回复 1
    • 2019-03-15

      而且这个冲突的 _id 值得是系统自动生成的才行,系统自动生成的才会保证全局唯一,如果是自定义的 _id 值就不会。例如我在别的表里用 openid 作为 _id 值,然后在这张表里头插入 _id:openid 是可行的。

      2019-03-15
      回复
  • 悟空
    悟空
    2019-03-15

    _id的值只能数据库自动生成不能自行设置的,你得换个字段名

    2019-03-15
    有用
    回复 1
    • 2019-03-15

      可以设置的,我用 openid 是可以的设置的

      2019-03-15
      回复
登录 后发表内容