[英]MongoDB: Remove array elements from a document
我是Mongo的新手,因此嘗試實現一個用例,其中我需要構建查詢以從文檔集合內部的數組中刪除數據。
這是我的文件之一:
{
"id" : 2,
"owners" : ["aa", "bb"]
}
現在,我需要構建一個查詢以根據所有者查找所有文檔記錄,如果存在,請將其從owners
數組中刪除。
例如,我在查詢中發送了aa
,然后需要將其從包含該所有者的所有文檔中刪除。
我在某個地方發現了這種邏輯:
$db.coll.update({cond to identify document},{$pull:{'owners':{'aa':<>}}})
但是不知道如何刪除數據。 提前致謝!
以下查詢通過從owners
數組中刪除匹配的owners
來更新集合。 更新查詢包含三個塊,
db.coll.update(
{ },
{ $pull: { owners: "aa" } },
{ multi: true }
)
first block {}
:它指定查詢以查找文檔,因為我們正在考慮所有文檔,因此將其保留為空白
第二個塊{ $pull: { owners: "aa" } }
:這是從所有文檔中的owners
數組中刪除匹配的元素。
第三塊{ multi: true }
:此塊指定,我們正在考慮更新所有匹配的文檔, { multi: false }
將僅更新第一個匹配的文檔
要了解更多信息,請點擊此鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.