4

使用 Node.js、mongoDB、猫鼬:

我有一个数据库集合,其记录具有字符串数组字段。

我需要删除与传递的字符串匹配的所有记录的数组中的项目。

这涉及查找具有包含匹配项的数组的所有记录,从数组中拼接项目并将记录保存回数据库。

我正在努力弄清楚如何做到这一点。

4

2 回答 2

4

您应该可以使用 a$pull或 a来执行此操作$pullAll(如此处所述:www.mongodb.org/display/DOCS/Updating#Updating-%24pull)。例如,在外壳中:

> db.coll.update({}, {$pull : {arrField : passedString}}, false, true);

如果存在,这将通过从 arrField 数组中提取传递的字符串来更新所有文档。(false为了不更新,true更新多个文档。)

于 2012-04-11T22:10:44.763 回答
3

你可以使用类似的东西

Model.update({}, {$pull : {arrField : passedString}}, function(){})
于 2012-04-12T07:22:09.350 回答