如何使用Mongoose从数组中删除第一个匹配的实例

时间:2016-12-23 17:23:36

标签: node.js mongodb express

假设您在MongoDB中有一个数组:[a,b,c,a,d]

你如何删除f.e.第一个,但不是第二个。否则放:删除第一个a后操作应该直接完成,所以不删除第二个a。这些数组也一直在变化,因此您无法事先知道a的位置。

1 个答案:

答案 0 :(得分:0)

您无法在一个请求中执行此操作。

您应该可以使用update将第一个元素(而不是所有元素)设置为null,如下所示

x.update({_id: "xxx"}, {$unset: {"field.$": "a"}})

但是您必须使用以下内容删除null

x.update({}, {$pull: {field: null}})

未经测试。当然,将field更改为您的字段名称。