Mongoose:我如何更新与数组中的一个项目匹配的数组值?
使用Node.js,mongoDB,mongoose:
我有一个数据库收集whoslogging有string数组字段。
我需要删除匹配传递string的所有logging数组中的项目。
这涉及到查找所有包含匹配数组的logging,从数组中拼接项目并将logging保存回数据库。
我正在努力解决如何做到这一点。
你应该可以用$pull
或$pullAll
来完成这个$pullAll
(如下所述:www.mongodb.org/display/DOCS/Updating#Updating-%24pull)。 例如,在shell中:
> db.coll.update({}, {$pull : {arrField : passedString}}, false, true);
这将通过从arrField数组中提取passedString(如果存在)来更新所有文档。 ( false
的没有upsert, true
更新多个文档。)
你可以使用类似的东西
Model.update({}, {$pull : {arrField : passedString}}, function(){})