Bagaimana untuk mengalih keluar Objek dari Array dalam MongoDB?

Susan Sarandon
Lepaskan: 2024-11-03 18:32:29
asal
710 orang telah melayarinya

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
);
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan