Arrays 为什么MongoDB上的$pull会删除数组中的重复元素?

Arrays 为什么MongoDB上的$pull会删除数组中的重复元素?,arrays,mongodb,pull,Arrays,Mongodb,Pull,我收集了以下文件: db.test { "_id": ObjectId("55fa5146d39ef1af3fad132b"), "member": ["john", "lisa", "kevin", "john"] } 以及以下查询: db.test.update({}, {$pull:{member:"john"}} 在mongo shell中运行 然后,生成以下文档: { "_id": ObjectId("55fa5146d39ef1af3fad132b"), "me

我收集了以下文件:

db.test

{
  "_id": ObjectId("55fa5146d39ef1af3fad132b"),
  "member": ["john", "lisa", "kevin", "john"]
}
以及以下查询:

db.test.update({}, {$pull:{member:"john"}}
在mongo shell中运行

然后,生成以下文档:

{
  "_id": ObjectId("55fa5146d39ef1af3fad132b"),
  "member": ["lisa", "kevin"]
}

为什么删除了成员数组中的“john”重复元素。
我不确定是什么原因导致$pull出现此问题。
任何帮助都将不胜感激


谢谢。

因为这就是
$pull
所做的,所以它会删除与指定值匹配的所有元素。这是预期的行为。那么你的实际问题是什么?仅从数组中删除值的第一个匹配实例。的可能重复项