從 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中文網其他相關文章!