Operasi CRUD di MongoDB: Tutorial dengan Contoh
Diterbitkan: 2020-02-05Dengan evolusi web yang berkelanjutan, kita sekarang melihat bagaimana MongoDB dan database objek dokumen lainnya muncul sebagai alternatif untuk database berbasis SQL konvensional. Ada beberapa keuntungan yang dimiliki database objek dokumen ini dibandingkan database SQL, dan yang paling menonjol dari semua manfaat ini termasuk skalabilitas dan kelincahan.
Penting untuk dicatat bahwa data dalam MongoDB disimpan dalam format dokumen JSON (BSON) yang dikodekan biner. Format ini mungkin memiliki persyaratan untuk menyimpan array dokumen yang disematkan atau dalam hal ini nilai. Dokumen membentuk catatan di MongoDB, yang merupakan struktur yang dibuat dari pasangan nilai dan bidang.
Sekarang mari kita bahas operasi buat, perbarui, ambil, dan hapus atau operasi CRUD di MongoDB. Fungsi-fungsi ini dapat secara luas diklasifikasikan sebagai fungsi modifikasi data di MongoDB. Ini hanya dapat digunakan untuk satu koleksi. Sisipkan adalah fungsi di MongoDB yang dapat digunakan untuk menambahkan data ke database.
Daftar isi
Daftar Operasi CRUD di MongoDB
1. Membuat Dokumen
Bagaimana objek dibuat menggunakan MongoDB? MongoDB menggunakan BSON – representasi biner dari JSON – untuk penyimpanannya. Jadi, cukup mudah untuk memahami bahwa metode yang digunakan untuk melakukan operasi yang berbeda dalam database ada hubungannya dengan JavaScript. Mari kita buat pengguna dan koleksi pengguna. Penting juga untuk dicatat bahwa tabel dalam SQL setara dengan koleksi di MongoDB.
db.users.save({name:”Mike”, pekerjaan:”dokter”,email:”[email protected]”})
Contoh ini menggunakan MongoDB save() untuk menyimpan data ke koleksi.
2. Memasukkan Dokumen
- Batch insert : Fungsi ini memungkinkan untuk menambahkan daftar dokumen sekaligus ke database. Sebuah batch, pada titik waktu tertentu, dapat memiliki ratusan atau bahkan ribuan dokumen. Dengan kemampuan menyisipkan banyak dokumen, fungsi ini bekerja jauh lebih cepat daripada fungsi penyisipan lainnya. Sisipan batch tidak mengharuskan Anda mengajukan permintaan individual untuk ratusan atau ribuan dokumen. Ini malah berfungsi sebagai satu permintaan Transmission Control Protocol (TCP). Waktu yang dibutuhkan selama penyisipan selalu jauh lebih sedikit karena tidak ada aktivitas pemrosesan header yang terlibat. Setiap dokumen yang harus dimasukkan membawa header yang menyampaikan ke database operasi yang perlu dilakukan. Sebagian besar, sisipan batch digunakan untuk menyimpan data sensor dan log server.
- Mongoimport : Mongoimport adalah alat baris perintah yang digunakan sebagai pengganti batch insert ke data penting dari MySQL, Oracle, atau Relational Database Management System (RDBMS) lainnya. Ada kalanya Anda mungkin diminta untuk membuat perubahan pada dokumen – menambahkan ID khusus – sebelum menyimpannya di MongoDB. Hal penting lainnya yang harus Anda ketahui adalah MongoDB hanya menerima pesan seberat 16 MB. Jadi, sisipan batch membatasi jumlah pesan yang dapat dimilikinya.
- Sisipan massal tidak berurutan : Dalam fungsi ini, MongoDB menulis operasi tanpa mengikuti urutan apa pun. Jika terjadi kesalahan, itu akan melanjutkan dengan operasi tulis yang dibiarkan tanpa gangguan. MongoDB membentuk grup operasi yang tidak berurutan saat menjalankannya. MongoDB juga dapat mencari peningkatan kinerja dengan menyusun ulang operasi yang terdaftar sebelum dieksekusi. Jadi, aplikasi tidak harus bergantung pada urutan saat mempertimbangkan fungsi ini untuk penyisipan massal. Bulk.getOperations() dapat digunakan untuk melihat bagaimana MongoDB mengelompokkan satu set operasi dan kemudian mengeksekusinya. Perintah ini dapat digunakan untuk menambahkan tiga dokumen sekaligus tetapi tanpa urutan apa pun.
- Sisipan massal yang dipesan: Dalam fungsi ini, MongoDB mengikuti urutan saat menulis operasi. Kesalahan selama operasi tulis apa pun mengakibatkan MongoDB tidak melakukan operasi penulisan lainnya. Operasi yang dipesan dikelompokkan dengan mempertimbangkan kontinuitas dan jenisnya. Operasi memerintahkan yang berdampingan milik kelas yang sama dikelompokkan.
Misalnya , jika daftar yang diurutkan memiliki satu operasi penyisipan diikuti oleh operasi hapus diikuti oleh dua operasi pembaruan, MongoDB akan membuat tiga grup untuk menumpuknya. Grup satu akan terdiri dari satu operasi penyisipan. Grup kedua akan memiliki satu operasi penghapusan. Grup ketiga akan menyatukan dua operasi pembaruan.

Edisi MongoDB mendatang diharapkan menangani perilaku ini dengan tepat. Setiap grup daftar massal yang dipesan tidak boleh memiliki lebih dari 1000 operasi. Jika jumlahnya melampaui batas maksimum itu, MongoDB membuat grup yang lebih kecil dengan 1000 operasi atau kurang, untuk mematuhi batas ini. Jadi jika ada 7000 pesanan massal operasi, akan ada tujuh kelompok yang masing-masing terdiri dari 1000 operasi massal. Untuk melihat bagaimana pengelompokan dan eksekusi dilakukan, pertama-tama jalankan perintah penyisipan massal dan kemudian gunakan perintah Bulk.getOperations. Perintah ini dapat digunakan untuk menambahkan tiga dokumen secara berurutan.

3. Mengambil/membaca Dokumen
Setiap query di MongoDB diarahkan pada dokumen tertentu. MongoDB mengidentifikasi dokumen berdasarkan kondisi yang ditentukan dalam kueri dan kemudian mengembalikan dokumen tersebut ke tujuan yang diinginkan. Kueri pengambilan dokumen dapat memiliki proyeksi yang menyebutkan kondisi atau kriteria yang cocok dengan bidang dokumen yang perlu dikembalikan.
Kueri dapat dimodifikasi untuk menempatkan lompatan, batasan, dan urutan pengurutan.
Sekarang mari kita bahas bagaimana kondisi kesetaraan ditentukan. Gunakan perintah findOne() untuk mengidentifikasi catatan pertama dokumen. Untuk menampilkan hasil dalam format yang tepat, Anda dapat menggunakan metode cantik.
Gunakan kueri db.items.find().pretty() untuk mengidentifikasi semua dokumen yang tercantum dalam koleksi dan menampilkan semuanya dalam format standar. Anda bisa menggunakan kueri kosong untuk memilih semua dokumen – db.items.find( {} ) – kueri ini memiliki klausa kueri kosong di bagian akhir – sehingga akan mengidentifikasi semua dokumen yang tercantum dalam kumpulan.
Tidak menentukan metode find dengan dokumen kueri dan menggunakan kueri kosong akan memberikan hasil yang sama. Jadi, kueri db.items.find( {} ) dan db.items.find() setara dalam hal hasil penggunaannya.
Anda dapat memanipulasi kueri dan menggunakan metode kursor kueri sementara metode hitung memungkinkan Anda mengetahui jumlah dokumen dalam koleksi yang cocok dengan kueri Anda. db.item.count()
4. Memperbarui Dokumen
Anda perlu menggunakan metode update() untuk memperbarui dokumen di MongoDB. Metode pembaruan menampilkan dua elemen penting – kueri dan pembaruan. Parameter kueri didahulukan diikuti oleh parameter pembaruan. Berikut ini contohnya
db.users.update({name:”Mike”}, {umur: 32})
Namun, ini bukan cara yang tepat untuk memperbarui pasangan nilai, yang dalam hal ini adalah usia. Dengan ini, Anda akan menimpa semua yang ada di dokumen. Satu-satunya hal yang akan tersisa di usia ini. Jadi ketika kita harus memperbarui pasangan nilai tunggal di seluruh dokumen, kita perlu menggunakan beberapa kata kunci.
db.users.update({nama: “Mike”}, { $set: { usia: 28}})

Ini tidak akan menimpa apa pun. Anda akan menyimpan semua informasi yang dimiliki dokumen tersebut. Hanya nilai usia yang akan diperbarui.
5. Menghapus Dokumen
Gunakan metode hapus – db.courses.remove() – untuk menghapus dokumen dari koleksi. Perintah ini akan menghapus semua dokumen dari koleksi yang diberikan. Apa yang tidak akan dihapus adalah indeks dan koleksi itu sendiri. Terkadang, perintah hapus dapat mengambil kueri sebagai parameter. Jika Anda ingin menghapus dokumen yang cocok dengan kriteria yang disebutkan dalam kueri, gunakan perintah db.items.remove({“item”: “Pen”).
Gunakan perintah db.items.remove({” item” : “Bag},1) untuk menghapus hanya satu dokumen dari koleksi. Untuk menghapus semua dokumen, koleksi, dan indeks, gunakan perintah db.courses.drop() (metode drop).
Kesimpulan
Jika Anda tertarik untuk mengetahui lebih banyak tentang Big Data, lihat Diploma PG kami dalam Spesialisasi Pengembangan Perangkat Lunak dalam program Big Data yang dirancang untuk para profesional yang bekerja dan menyediakan 7+ studi kasus & proyek, mencakup 14 bahasa & alat pemrograman, praktik langsung lokakarya, lebih dari 400 jam pembelajaran yang ketat & bantuan penempatan kerja dengan perusahaan-perusahaan top.
Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.