收藏
回答

云函数如何只删除第一个符合条件的数据?

云函数使用addToSet可以避免重复往数组中添加相同数据。

但如果想从数组中删除数据,筛选出多个符合条件的数据,如何只删除第一个?用pull就都删掉了。用shift又只能删数组里的第一个,而不是删符合条件的第一个。

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

3 个回答

  • ♠K
    ♠K
    发表于移动端
    2022-03-17
    因为数据没有指定性,所以按时间戳或者id方式,现在都达不到想要的效果。 我从网上看到一个方法勉强能用,就是remove,可以只remove掉符合条件的一个数据。但其实不是删除这个数据,是把数据值变成null了。 我又把所有null都pull出来,勉强达到想要的效果了。 谢谢大家!
    2022-03-17
    有用
    回复
  • 苏军
    苏军
    2022-03-17

    普通数组字段这种操作目前云数据库应该不行,如果是对象数组字段,一个思路是人为制造差异,比如每个对象入库的时候加一个时间戳,这样查询出符合条件的数据后,再利用现有条件和查询出来的第一个数据的时间戳来pull

    2022-03-17
    有用
    回复
  • 微喵网络
    微喵网络
    2022-03-17

    获取第一个数据的docid,根据id删除

    2022-03-17
    有用
    回复
登录 后发表内容