MongoDB - Update Document
Halo sana, para ahli basis data masa depan! Hari ini, kita akan melihat dunia yang menarik dari pembaruan dokumen MongoDB. Sebagai guru komputer yang ramah di lingkungan Anda, saya disini untuk menggembalakan Anda dalam perjalanan ini dengan banyak contoh dan penjelasan. Jadi, ambil minuman kesukaan Anda, duduk nyaman, dan mari kita mulai petualangan MongoDB bersama!
Metode MongoDB update()
Marilah kita mulai dengan metode kelasik update(). Bayangkan Anda memiliki koleksi buku di basis data MongoDB Anda, dan Anda ingin memperbarui harga buku tertentu. Berikut cara Anda dapat melakukannya:
db.books.update(
{ title: "The Great Gatsby" },
{ $set: { price: 12.99 } }
)
Dalam contoh ini, kita mengatakan ke MongoDB untuk mencari buku dengan judul "The Great Gatsby" dan mengatur harganya menjadi 12.99. Itu seperti pergi ke toko buku dan menempelkan etiket harga baru ke buku tertentu.
Tapi tunggu, ada lagi! Metode update() memiliki beberapa trik di manikannya. Marilah kita lihat contoh yang lebih kompleks:
db.books.update(
{ author: "F. Scott Fitzgerald" },
{ $inc: { copiesSold: 100 }, $set: { bestseller: true } },
{ multi: true }
)
Di sini, kita meningkatkan field 'copiesSold' sebesar 100 dan mengatur 'bestseller' menjadi true untuk semua buku karya F. Scott Fitzgerald. Opsi 'multi: true' memastikan kita memperbarui semua dokumen yang cocok, bukan hanya yang pertama.
Metode MongoDB save()
Sekarang, mari bicarakan tentang metode save(). Metode ini seperti pisau Swiss Army - bisa menyisipkan dokumen baru atau memperbarui yang sudah ada. Berikut contohnya:
db.books.save(
{
_id: ObjectId("507f1f77bcf86cd799439011"),
title: "To Kill a Mockingbird",
author: "Harper Lee",
year: 1960,
price: 10.99
}
)
Jika sudah ada dokumen dengan _id ini, maka akan diperbarui. Jika belum, dokumen baru akan disisipkan. Itu seperti memiliki penyangkut magis yang bisa menulis entri baru di katalog pustaka Anda atau memperbarui yang sudah ada!
Metode MongoDB findOneAndUpdate()
Metode findOneAndUpdate() seperti detektif yang mencari dokumen, memperbaruinya, dan kemudian melaporkan kembali dengan dokumen asli atau yang diperbarui. Mari kita lihatnya dalam aksi:
db.books.findOneAndUpdate(
{ title: "1984" },
{ $set: { genre: "Dystopian Fiction" } },
{ new: true }
)
Metode ini mencari buku "1984", menambahkan genre, dan mengembalikan dokumen yang diperbarui (karena 'new: true'). Itu seperti meminta petugas pustaka untuk mencari buku, menambahkan stiker genre, dan menunjukkan buku yang diperbarui.
Metode MongoDB updateOne()
Metode updateOne() sangat cocok saat Anda yakin ingin memperbarui hanya satu dokumen. Berikut bagaimana Anda bisa menggunakannya:
db.books.updateOne(
{ title: "The Catcher in the Rye" },
{ $set: { status: "Checked Out" }, $inc: { timesCheckedOut: 1 } }
)
Ini memperbarui status "The Catcher in the Rye" menjadi "Checked Out" dan menambahkan 'timesCheckedOut' sebesar 1. Itu seperti memperbarui status buku tunggal di sistem pustaka Anda.
Metode MongoDB updateMany()
Terakhir namun bukan paling kurang, kita memiliki updateMany(). Metode ini sangat cocok saat Anda perlu membuat perubahan pada banyak dokumen sekaligus. Mari kita lihat contohnya:
db.books.updateMany(
{ year: { $lt: 1900 } },
{ $set: { category: "Classic" }, $inc: { specialEditionPrice: 5 } }
)
Operasi ini mencari semua buku yang diterbitkan sebelum 1900, mengategorikan mereka sebagai "Classic", dan menambahkan harga edisi khusus sebesar 5. Itu seperti mengganggu keseluruhan pustaka Anda dan memperbarui semua buku tua sekaligus!
Sekarang, mari rangkum semua metode ini dalam tabel praktis:
Metode | Deskripsi | Kasus Penggunaan |
---|---|---|
update() | Memperbarui dokumen tunggal atau banyak | Pembaruan umum |
save() | Menyisipkan dokumen baru atau memperbarui yang sudah ada | Saat Anda tidak yakin jika dokumen ada |
findOneAndUpdate() | Mencari dokumen, memperbarui, dan mengembalikan dokumen asli atau yang diperbarui | Saat Anda perlu mengetahui keadaan dokumen sebelum atau setelah pembaruan |
updateOne() | Memperbarui dokumen tunggal | Saat Anda yakin ingin memperbarui hanya satu dokumen |
updateMany() | Memperbarui banyak dokumen | Saat Anda perlu membuat perubahan pada banyak dokumen sekaligus |
Ingat, para padi muda, memperbarui dokumen di MongoDB seperti merawat kebun. Anda harus hati-hati dan presisi, tetapi dengan peralatan ini di tangan Anda, Anda dapat membentuk data Anda dengan indah.
Sekarang, saat kita menutup pelajaran ini, saya teringat saat saya secara tidak sengaja memperbarui semua buku di basis data saya menjadi "Anonymous". Itu mengambil waktu saya beberapa jam untuk memperbaiki, tetapi itu mengajarkan saya pentingnya untuk spesifik dalam query saya. Selalu periksa kondisi Anda sebelum menekan tombol pembaruan!
Sekarang, pergilah dan perbarui dokumen Anda dengan kepercayaan. Semoga query Anda presisi dan pembaruan Anda cepat!
Credits: Image by storyset