收藏
回答

云数据库如何删除数组类型字段的指定索引内容?

集合abc数据结构如下:

{

    user: [

{name: "Zhang", age: 18},

{name: "Wang", age: 18},

{name: "Li", age: 18},

{name: "Zhao", age: 18},

    ]

}

我想把{name: "Li", age: 18}删除掉,请问这个怎么操作?

官方文档只提供了shift、pop等从数组头或尾删除的方法,我没找到删除指定索引的方法,求教高手。

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

2 个回答

  • 邓坤力
    邓坤力
    2019-09-23

    方法 1:对 'user.2' (指定了数组下标,第三个元素)删除:

    {

    'user.2': _.remove()

    }

    文档:

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/query-array-object.html#%E5%8C%B9%E9%85%8D%E6%95%B0%E7%BB%84%E7%AC%AC-n-%E9%A1%B9%E5%85%83%E7%B4%A0


    方法2:重写整个数组

    方法3:即将推出,可以匹配并删除

    2019-09-23
    有用 1
    回复 5
    • 琳
      2019-09-24
      感谢您的回复,我目前用的是方法2。您说的方法1我以前试过,对于数组,remove()不会删除掉指定的数组元素,只会把值清空,变成null。
      2019-09-24
      回复
    • AScale
      AScale
      2019-10-11回复
      对哦, 就只是反元素设为null,数组的长度没有变化, 太坑了
      2019-10-11
      回复
    • 郑旭东
      郑旭东
      2020-01-17
      找到个办法:然后再用_.pull(null)把那个null去掉,有点蛋疼...希望官方改进
      2020-01-17
      回复
    • 。。。。
      。。。。
      2020-03-26
      大佬,快2021了,方法3推出了吗
      2020-03-26
      回复
    • 缪伟光(白色SKY)
      缪伟光(白色SKY)
      2020-12-08回复。。。。
      pull不是可以的吗,关键是建立主键
      2020-12-08
      回复
  • 🍳
    🍳
    2020-12-21

    方法3推出了吗?

    2020-12-21
    有用
    回复
登录 后发表内容
问题标签