使用Node.js,mongoDB,貓鼬:Mongoose:如何使用數組值匹配數組中的一個項來更新文檔?
我有一個數據庫集合whos記錄有字符串數組字段。
我需要刪除匹配傳遞字符串的所有記錄數組中的項目。
這涉及到查找所有包含匹配數組的記錄,從數組中拼接項目並將記錄保存回數據庫。
我正在努力解決如何做到這一點。
使用Node.js,mongoDB,貓鼬:Mongoose:如何使用數組值匹配數組中的一個項來更新文檔?
我有一個數據庫集合whos記錄有字符串數組字段。
我需要刪除匹配傳遞字符串的所有記錄數組中的項目。
這涉及到查找所有包含匹配數組的記錄,從數組中拼接項目並將記錄保存回數據庫。
我正在努力解決如何做到這一點。
您應該可以通過$pull
或$pullAll
(如此處所述:www.mongodb.org/display/DOCS/Updating#Updating-%24pull)執行此操作。例如,在外殼中:
> db.coll.update({}, {$pull : {arrField : passedString}}, false, true);
這將通過從arrField數組中提取passedString(如果存在)來更新所有文檔。 (false
因爲沒有UPSERT,true
更新多個文檔。)
您可以使用類似
Model.update({}, {$pull : {arrField : passedString}}, function(){})