Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mengalih keluar Objek dari Array dalam MongoDB?

Bagaimana untuk mengalih keluar Objek dari Array dalam MongoDB?

Susan Sarandon
Susan Sarandonasal
2024-11-03 18:32:29709semak imbas

How to Remove an Object from an Array in MongoDB?

Mengalih keluar Objek daripada Tatasusunan dalam MongoDB

Apabila berurusan dengan dokumen yang mengandungi tatasusunan, mungkin perlu mengalih keluar objek tertentu daripadanya . Ini biasanya dilihat dengan dokumen yang menyimpan senarai item atau entri serupa. Dalam MongoDB, terdapat pengendali yang ditetapkan, dikenali sebagai $pull, direka khusus untuk tujuan ini.

Contoh yang diberikan menggambarkan dokumen dengan pelbagai item. Matlamatnya adalah untuk mengalih keluar objek item dengan id bersamaan dengan 23. Percubaan awal untuk menggunakan $pull adalah tidak betul, kerana ia cuba memadankan pada medan id terus dalam pernyataan $pull, yang bukan sintaks yang betul.

Untuk berjaya mengalih keluar objek yang diingini, pertanyaan yang betul ialah:

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

Pertanyaan ini menentukan bahawa ia mahu mengemas kini dokumen dengan _id yang diberikan, dan dalam kemas kini itu, ia menggunakan operator $pull kepada tatasusunan item, memadankan setiap elemen tatasusunan dengan id 23.

Bagi mereka yang menggunakan Mongoose/Node.js, coretan kod yang setara ialah:

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

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Objek dari Array dalam MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn