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