收藏
回答

云开发“字段名.$[].字段名”更新数组对象?

logo:为数组对象

我想实现下标0的default值改为true时,下标1的default值改为false。

const status = await db.collection('Group')
      .where({
        _id: event.groupId
      }).update({
        data: {
          'logo.$[].default': _.set(_.expr(
            $.cond({
              if: $.eq(['$default', true]),
              then: false,
              else: true
            })
          ))
        }
      });


我的方法报错:The dollar ($) prefixed field '$expr' in 'logo.0.default.$expr' is not valid for storage.

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

2 个回答

  • 老张
    老张
    2021-09-23

    想不出可以实现这个的脚本。

    能想到的办法是导出数据库JSON,然后在vscode里全文替换:

    default:0 替换成 default:true

    。。。

    再导回数据库

    2021-09-23
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2021-09-23

    先看下说明吧,是在where中,没说在update里

    2021-09-23
    有用
    回复 1
    • Qiu (吉²)
      Qiu (吉²)
      发表于小程序端
      2021-09-23

      谢谢🙏

      2021-09-23
      回复
登录 后发表内容