使用 Node.js、mongoDB、猫鼬:
我有一个数据库集合,其记录具有字符串数组字段。
我需要删除与传递的字符串匹配的所有记录的数组中的项目。
这涉及查找具有包含匹配项的数组的所有记录,从数组中拼接项目并将记录保存回数据库。
我正在努力弄清楚如何做到这一点。
您应该可以使用 a$pull
或 a来执行此操作$pullAll
(如此处所述:www.mongodb.org/display/DOCS/Updating#Updating-%24pull)。例如,在外壳中:
> db.coll.update({}, {$pull : {arrField : passedString}}, false, true);
如果存在,这将通过从 arrField 数组中提取传递的字符串来更新所有文档。(false
为了不更新,true
更新多个文档。)
你可以使用类似的东西
Model.update({}, {$pull : {arrField : passedString}}, function(){})