Rumah > pangkalan data > MongoDB > Bagaimanakah saya membuat, membaca, mengemas kini, dan memadam dokumen (CRUD) di MongoDB?

Bagaimanakah saya membuat, membaca, mengemas kini, dan memadam dokumen (CRUD) di MongoDB?

Karen Carpenter
Lepaskan: 2025-03-11 18:04:17
asal
737 orang telah melayarinya

Butiran artikel ini melaksanakan Operasi Buat, Baca, Kemas kini, dan Padam (CRUD) di MongoDB. Ia meliputi menggunakan kaedah seperti InsertOne (), Cari (), UpdateOne (), DeleteOne (), dan amalan terbaik untuk operasi yang cekap termasuk pengindeksan, operatio batch

Bagaimanakah saya membuat, membaca, mengemas kini, dan memadam dokumen (CRUD) di MongoDB?

Kami akan menggunakan contoh koleksi yang dinamakan "Produk" dengan dokumen yang mengandungi _id , name , price , dan description fields. Insertmany () (untuk pelbagai dokumen). Berikut adalah contoh menggunakan shell mongoDB:
 <code class="javascript"> db.products.insertone ({name: & quot; Laptop & quot;, Harga: 1200, Description: & quot; Laptop yang berkuasa & quot; Tablet & quot; Bidang <code> _id </code> dijana secara automatik jika tidak disediakan. Pelaksanaan khusus pemacu akan sama, dengan menggunakan kaedah </code> atau   <strong> Dokumen membaca: </strong> Anda boleh menentukan penapis untuk mendapatkan dokumen tertentu. Sebagai contoh:  <pre class="brush:php;toolbar:false"> <code class="javascript"> // cari semua produk db.products.find () // cari produk dengan harga kurang daripada 500 db.products.find ({price: {$ lt: 500}}/ ... dengan objectId sebenar </code> 
Salin selepas log masuk

cari () mengembalikan kursor, membolehkan anda meleleh melalui hasilnya. findOne () Mengembalikan satu dokumen yang sepadan dengan pertanyaan. Sekali lagi, pelaksanaan pemandu akan mempunyai kaedah yang setara.

Mengemaskini dokumen: MongoDB menyediakan beberapa cara untuk mengemas kini dokumen. updateOne () mengemas kini dokumen tunggal, manakala updateMany () mengemas kini pelbagai dokumen. Anda menggunakan operator set untuk mengubah suai medan.
 <code class="javaScript"> // mengemas kini harga produk tertentu db.products.updateOne ({name: & quot; Laptop & quot; {}, {$ inc: {price: {$ Multiply: [0.1, & quot; $ price & quot;]}}) </code> 
Salin selepas log masuk

Contoh pertama mengemas kini harga komputer riba. Contoh kedua menggunakan pengendali $ inc untuk meningkatkan harga semua produk. Kemas kini yang lebih kompleks boleh dicapai dengan menggunakan pengendali kemas kini lain seperti $ push , $ pull , $ addtoset , dan lain -lain. class = "JavaScript"> // Padam produk tertentu db.products.deleteOne ({name: & quot; keyboard & quot;}) // Padam semua produk dengan harga lebih besar daripada 1000 db.products.deletemany ({$ gt: 1000}} Kriteria. Indeks adalah serupa dengan indeks dalam pangkalan data relasi. Pilih jenis indeks yang sesuai (contohnya, satu bidang, kompaun, geospatial) berdasarkan pertanyaan anda. Operasi. Reka bentuk skema yang betul boleh meningkatkan prestasi pertanyaan secara dramatik.

  • Pengoptimuman pertanyaan: Elakkan menggunakan where fasal kerana mereka boleh lambat. Sebaliknya, gunakan pengendali seperti $ gt , $ lt , $ in , dan lain -lain, yang memanfaatkan indeks dengan berkesan. Gunakan unjuran yang sesuai ( {_id: 0, Nama: 1, Harga: 1} ) untuk mengambil hanya medan yang diperlukan, mengurangkan pemindahan data. Kebanyakan pemandu menawarkan keupayaan kumpulkan sambungan terbina dalam.
  • Kesilapan mengendalikan semasa operasi CRUD

    Pengendalian ralat adalah penting untuk aplikasi MongoDB yang mantap. Pemandu menyediakan mekanisme untuk menangkap dan mengendalikan pengecualian semasa operasi CRUD.

    • Ralat dan melaksanakan logik yang sesuai untuk mengendalikannya dengan anggun. MongoDB menyediakan dokumentasi kod ralat terperinci.
    • Pembalakan: Kesalahan log untuk tujuan debug dan pemantauan. Sertakan maklumat yang relevan seperti mesej ralat, jejak stack, dan operasi yang gagal. Mencuba operasi yang gagal selepas kelewatan yang singkat untuk meningkatkan daya tahan.
    • Berikut adalah gambaran ringkas untuk node.js dan python: node.js (menggunakan mongoDB driver): // ... kod sambungan ... const client = mongoclient baru (uri); fungsi async run () {cuba {menunggu klien.connect (); const db = client.db ('myDatabase'); const collection = db.collection ('Products'); // ... operasi crud menggunakan collection.insertone (), collection.find (), dll ...} akhirnya {menunggu klien.close (); }} run (). Catch (console.dir);

      python (menggunakan pymongo driver): DB ['Products'] # ... Operasi CRUD Menggunakan Collection.insert_one (), Collection.Find (), dan lain -lain ... client.close ()

      Kedua -dua contoh menunjukkan struktur asas. Rujuk dokumentasi untuk pemacu khusus anda untuk maklumat terperinci mengenai kaedah dan pilihan yang tersedia. Ingatlah untuk menggantikan ruang letak seperti uri dengan rentetan sambungan sebenar anda.

    Atas ialah kandungan terperinci Bagaimanakah saya membuat, membaca, mengemas kini, dan memadam dokumen (CRUD) di MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    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