MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara memperbarui dokumen yang ada di MongoDB

MongoDB pertama kali dikembangkan pada tahun 2007 oleh Dwight Merriman dan Eliot Horowitz ketika mereka mengalami masalah skalabilitas dengan database relasional saat mengembangkan aplikasi web perusahaan di perusahaan mereka, yang dikenal sebagai DoubleClick. Menurut salah satu pengembang, namanya berasal dari kata humongous untuk mendukung gagasan pemrosesan data dalam jumlah besar.

Basis data menjadi proyek sumber terbuka pada tahun 2009 sementara perusahaan menawarkan layanan dukungan komersial. Banyak perusahaan mengadopsi MongoDB karena fitur uniknya. Salah satu perusahaan ini adalah surat kabar The New York Times, dan mereka menggunakan database ini untuk membangun aplikasi berbasis web untuk mengirimkan foto. Pada tahun 2013, DoubleClick secara resmi berganti nama menjadi MongoDB Inc.

Komponen MongoDB

Komponen inti MongoDB dan penggunaannya meliputi:

  • Koleksi – Rekan RDBMS mereka adalah tabel. Mereka adalah satu set dokumen MongoDB
  • Dokumen – Mitra RDBMS-nya adalah Row. Ini adalah kumpulan data yang disimpan dalam format BSON
  • Lapangan – Ini adalah elemen tunggal dalam dokumen MongoDB yang berisi nilai sebagai bidang dan pasangan nilai.

Penyimpanan berbasis dokumen

Dokumen adalah struktur data dengan pasangan nama-nilai seperti JSON, dan mudah untuk memetakan Objek kustom apa pun dari bahasa pemrograman apa pun dengan dokumen MongoDB. Misalnya, seorang Siswa objek memiliki atribut seperti name, studentid, dan mata pelajaran di mana subjek adalah Daftar. Dokumen untuk Siswa di MongoDB akan terlihat seperti ini:

{
Name: "Michael",
Studentid: 1
Subjects: ["Mathematics, English, Geography"]}

Anda akan melihat bahwa dokumen adalah representasi JSON dari objek khusus dari representasi di atas. Selain itu, JOIN yang berlebihan dapat dihindari dengan menyimpan data dalam bentuk Array dan dokumen (Embedded) di dalam dokumen.

Memperbarui dokumen di MongoDB

MongoDB menyediakan pembaruan () perintah yang digunakan untuk memperbarui dokumen koleksi. Parameter dasar dalam perintah adalah kondisi di mana dokumen perlu diperbarui dan modifikasi yang perlu dilakukan. Pengguna dapat menambahkan kriteria ke pernyataan pembaruan untuk memperbarui hanya dokumen yang dipilih. Contoh di bawah ini menunjukkan bagaimana memperbarui nilai tunggal dalam dokumen dilakukan:

  • Masukkan updateOne perintah.
  • Pilih kondisi yang akan digunakan untuk memutuskan dokumen mana yang diperbarui. Misalnya, kami akan memperbarui dokumen dengan penulis dan artikel.
  • Gunakan set perintah untuk mengubah Nama Bidang, pilih nama bidang mana yang ingin Anda ubah, lalu masukkan nilai baru seperti yang ditunjukkan di bawah ini:
db.fossdb.updateOne(
{ item: "article" },
{
$set: { "foss": "fosslinux", author: "Abraham" },
$currentDate: { lastModified: true }
}
)

Keluaran:

Catatan: pastikan untuk memilih database yang benar menggunakan perintah "gunakan". Misalnya, saya menggunakan "fossdb"; oleh karena itu, untuk memilih database yang tepat, saya akan menjalankan perintah di bawah ini:

use fossdb

Keluaran:

Output akan menunjukkan bahwa satu record cocok dengan kondisi, dan oleh karena itu nilai field yang relevan dalam dokumen diubah.

Untuk memperbarui dokumen massal secara bersamaan di MongoDB, pengguna perlu menggunakan multi-opsi karena, secara default, hanya satu dokumen yang dimodifikasi pada satu waktu. Kode di bawah ini menunjukkan bagaimana pengguna dapat memperbarui banyak dokumen secara bersamaan:

  • Pertama-tama kita akan menemukan dokumen yang memiliki penulis sebagai “Abraham” dan mengubah nama penulis dari “Abraham” menjadi “Masai.” Kami kemudian akan mengeluarkan updateMany perintah.
  • Kemudian pilih kondisi untuk memutuskan dokumen mana yang akan dimodifikasi. Seperti yang disebutkan sebelumnya, kami akan menggunakan dokumen dengan nama “Penulis”.
  • Pilih nama bidang yang ingin Anda perbarui, lalu masukkan nilai baru yang sesuai.
db.fossdb.updateMany(
{ "articles": { $lt: 50 } },
{
$set: { "foss": "fosslinux", authors: "Masai" },
$currentDate: { lastModified: true }
}
)

Keluaran:

Setelah berhasil menjalankan perintah ini, output menunjukkan bahwa satu record cocok dengan kondisi, dan oleh karena itu, bidang yang relevan telah dimodifikasi.

Mengapa pengguna harus memilih MongoDB

Berikut ini adalah alasan mengapa pengguna harus mulai menggunakan MongoDB:

Berorientasi pada dokumen

Karena database ini adalah database tipe NoSQL, data disimpan dalam dokumen alih-alih memiliki data dalam format tipe relasional. Hal ini membuat database ini sangat fleksibel dan mudah beradaptasi dengan situasi dan persyaratan dunia nyata.

Kueri ad hoc

Pencarian berdasarkan bidang, kueri, dan pencarian ekspresi reguler didukung di MongoDB; maka kueri dapat dibuat untuk mengembalikan bidang tertentu dalam dokumen.

Pengindeksan

Indeks di MongoDB dibuat untuk meningkatkan kinerja pencarian dalam database.

Penimbangan beban

MongoDB menggunakan sharding untuk menskalakan secara horizontal dengan membagi data ke beberapa instance MongoDB.

Replikasi

Database ini menyediakan ketersediaan tinggi dengan set replika. Setiap set replika terdiri dari dua atau lebih instans MongoDB. Anggota kumpulan replika dapat bertindak sebagai replika primer atau sekunder kapan saja. Replika utama adalah server pusat yang berinteraksi dengan klien dan melakukan semua operasi baca/tulis. Sebaliknya, replika sekunder menyimpan salinan replika utama menggunakan data replikasi bawaan.

Pemodelan data di MongoDB

Dari pembahasan di atas, data di Mongo DB memiliki skema yang fleksibel. Koleksi MongoDB tidak menerapkan struktur dokumen, tidak seperti database SQL, di mana pengguna harus mendeklarasikan skema tabel sebelum memasukkan data. Fleksibilitas semacam inilah yang membuat MongoDB begitu kuat.

Saat memodelkan data di MongoDB, pengguna harus mengingat hal-hal berikut:

  • Pola pengambilan data – dalam kasus penggunaan kueri yang berat, pengguna harus mempertimbangkan untuk menggunakan indeks dalam model data mereka untuk meningkatkan efisiensi kueri.
  • Kebutuhan aplikasi – pengguna harus melihat kebutuhan bisnis aplikasi dan melihat data dan jenis data apa yang dibutuhkan untuk aplikasi.
  • Apakah database sering dimodifikasi? – pengguna harus mempertimbangkan kembali penggunaan indeks atau menggabungkan sharding jika diperlukan dalam desain pemodelan data mereka untuk meningkatkan efisiensi lingkungan MongoDB mereka secara keseluruhan.

Kesimpulan

Artikel ini telah memberikan analisis singkat tentang MongoDB, database viral di pasar saat ini. Selain itu telah dijelaskan bagaimana cara mengupdate dokumen yang ada di MongoDB. Kami harap artikel ini membantu Anda memahami MongoDB dengan lebih baik. Jika ada masalah, hubungi kami melalui bagian komentar, dan kami akan segera menghubungi Anda.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NodeJS dan MongoDB FindAndModify() perlu dihapus atau diperbarui

  2. kecualikan bidang dalam agregasi $lookup

  3. Hapus bidang yang ditemukan di array mongodb mana pun

  4. MongoDB - Ekspor Data

  5. Luwak - Bagaimana cara mengelompokkan dan mengisi?