使用addToSet功能出错,把整个数组作为一个元素添加到数据库中?
发布于 6 年前 作者 iliu 695 次浏览 来自 官方Issues

使用addToSet功能添加元素到云数据库一个数组字段中:

console.log("errqids:"+event.errqids)
await achieves.where({ uid: user.uid, cid: event.cid })
  .update({
    data: {
      errqids: _.addToSet({
        each:event.errqids
      })
    }
  }).then(res => {
    if (res.errMsg.indexOf('ok') == -1) {
      console.log(res)
    }
  })

云函数日志可以看除errqids是一个数组:

2019-10-23T02:40:09.224Z  { action: ‘saveErrors’,errqids: [ 5, 31 ],

但是最终添加的结果是这样:

这是什么原因呢?之前这样操作都是正常的。

1 回复

_.addToSet({

$each:event.errqids

})

应该是官方示例有误

在each前面加个$,搞定

$each 或者 “$each”

回到顶部