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(){})