收藏
回答

使用addToSet功能出错,把整个数组作为一个元素添加到数据库中?

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 工具 wx4458cb94447caf17 2.8.2

使用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 ],

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

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

最后一次编辑于  2019-10-23
回答关注问题邀请回答
收藏

1 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-10-23

    _.addToSet({

    $each:event.errqids

    })

    应该是官方示例有误

    在each前面加个$,搞定

    $each 或者 "$each"

    2019-10-23
    有用 2
    回复 3
    • monton
      monton
      2019-10-23
      多谢!
      2019-10-23
      回复
    • 郑旭东
      郑旭东
      2020-02-26
      谢谢,同样的问题...
      2020-02-26
      回复
    • 雪线
      雪线
      2021-02-23
      同样问题,希望官方尽快改正文档……
      2021-02-23
      回复
登录 后发表内容
问题标签