我有一个内部有数组的文档,如下所示:
"userTags" : [ "foo", "foo", "foo", "foo", "moo", "bar" ]
如果我执行,db.products.update({criteriaToGetDocument}, {$push: {userTags: "foo"}}}
我可以正确插入foo
数组的另一个实例.
但是,如果我这样做,db.products.update({criteriaToGetDocument}, {$pull: {userTags: "foo"}}}
它会从数组中删除所有实例foo
,让我:
"userTags" : [ "moo", "bar" ]
这根本不会做,我只想从数组中拉出一个项而不是全部.如何更改命令以便只foo
删除一个命令?有什么$pullOnce
方法可以在这里工作吗?