MongoDB の配列からオブジェクトを削除する
配列を含むドキュメントを扱う場合、ドキュメントから特定のオブジェクトを削除する必要がある場合があります。 。これは、アイテムのリストまたは同様のエントリを保存するドキュメントでよく見られます。 MongoDB には、この目的のために特別に設計された、$pull として知られる指定された演算子があります。
ここで提供される例は、項目の配列を含むドキュメントを示しています。目標は、ID が 23 の項目オブジェクトを削除することです。$pull を使用する最初の試みは、$pull ステートメント内で ID フィールドを直接照合しようとするため、正しくありません。これは正しい構文ではありません。
目的のオブジェクトを正常に削除するには、正しいクエリは次のとおりです。
db.mycollection.update( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, false, // Upsert true, // Multi );
このクエリは、指定された _id でドキュメントを更新することを指定し、その更新では $pull 演算子を適用します。各配列要素を id 23 と照合して items 配列に追加します。
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 中国語 Web サイトの他の関連記事を参照してください。