簡體   English   中英

MongoDB:從文檔中刪除數組元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM