Masalah:
Dalam MongoDB, bagaimana anda mengekstrak objek tertentu daripada tatasusunan yang tertanam dalam dokumen? Dalam dokumen contoh, kami ingin mengalih keluar objek dengan id: 23 daripada tatasusunan item.
Penyelesaian:
Untuk mencapai ini, gunakan operator $pull dengan pertanyaan yang lebih khusus untuk memadankan objek yang dikehendaki dalam tatasusunan.
Pertanyaan MongoDB:
db.mycollection.update( { '_id': ObjectId("5150a1199fac0e6910000002") }, { $pull: { items: { id: 23 } } }, false, // Upsert true // Multi );
Penjelasan:
Node.js/Mongoose:
Dalam Mongoose, anda boleh menggunakan pertanyaan berikut:
<code class="javascript">MyModel.findOneAndUpdate( { '_id': '5150a1199fac0e6910000002' }, { $pull: { items: { id: 23 } } }, { multi: true } );</code>
Nota: MongoDB 3.6 juga menyokong pengendali $elemMatch bersama-sama dengan $pull untuk penapisan yang lebih kompleks dalam tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Objek Tertentu daripada Array dalam MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!