首頁  >  文章  >  web前端  >  如何從 MongoDB 陣列中刪除物件?

如何從 MongoDB 陣列中刪除物件?

Susan Sarandon
Susan Sarandon原創
2024-11-03 18:32:29703瀏覽

How to Remove an Object from an Array in MongoDB?

從 MongoDB 中的陣列中刪除物件

處理包含陣列的文件時,可能需要從中刪除特定物件。這在儲存項目清單或類似條目的文件中很常見。在 MongoDB 中,有一個指定的運算符,稱為 $pull,專門為此目的而設計。

提供的範例說明了一個包含項目陣列的文件。目標是刪除 id 等於 23 的 item 物件。最初嘗試使用 $pull 是不正確的,因為它嘗試直接在 $pull 語句中匹配 id 字段,這不是正確的語法。

要成功刪除所需的對象,正確的查詢是:

db.mycollection.update(
    { '_id': ObjectId("5150a1199fac0e6910000002") }, 
    { $pull: { items: { id: 23 } } },
    false, // Upsert
    true, // Multi
);

此查詢指定它想要使用給定的_id 更新文檔,並在該更新中應用$ pull 運算子到items 陣列,符合每個陣列元素的id 為23。

對於使用 Mongoose/Node.js 的用戶,等效的程式碼片段是:

<code class="javascript">Model.updateOne(
    { '_id': ObjectId("5150a1199fac0e6910000002") }, 
    { $pull: { items: { id: 23 } } },
    function(err, result) {
        // Handle error or result
    }
);</code>

以上是如何從 MongoDB 陣列中刪除物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn