MongoDB - Kemaskini Dokumen

Hai sana, para ahli pangkalan data masa depan! Hari ini, kita akan melihat dunia yang menarik pengemaskinian dokumen MongoDB. Sebagai guru komputer tetangga yang ramah, saya disini untuk menghidangkan anda dalam perjalanan ini dengan banyak contoh dan penjelasan. Jadi, ambil minuman kesukaan anda, rasa selesa, dan mari kita embarkasi dalam pengemaskinian MongoDB bersama!

MongoDB - Update Document

Metode MongoDB update()

Mari kita mulakan dengan metode kelasik update(). Bayangkan anda mempunyai koleksi buku di pangkalan data MongoDB anda, dan anda mahu kemaskini harga buku tertentu. Berikut adalah cara anda bolehbuat:

db.books.update(
{ title: "The Great Gatsby" },
{ $set: { price: 12.99 } }
)

Dalam contoh ini, kita memberitahu MongoDB untuk mencari buku dengan judul "The Great Gatsby" dan menetapkan harga kepada 12.99. Itu seperti pergi ke kedai buku dan meletakkan label harga baru di buku tertentu.

Tetapi tunggu, ada lagi! Metode update() mempunyai beberapa trick di lengan. Mari 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 ruangan 'copiesSold' sebanyak 100 dan menetapkan 'bestseller' kepada benar untuk semua buku oleh F. Scott Fitzgerald. Pilihan 'multi: true' memastikan kita kemaskini semua dokumen yang sepadan, bukan hanya yang pertama.

Metode MongoDB save()

Sekarang, mari bicarakan tentang metode save(). Metode ini seperti pisau meja Switzerland - ia boleh memasukkan dokumen baru atau kemaskini yang sedia ada. Berikut adalah contoh:

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, ia akan dikemaskini. Jika tidak, dokumen baru akan dimasukkan. Itu seperti memiliki pen yang ajaib yang baik menulis entri baru di katalog pustaka anda atau mengemaskini yang sedia ada!

Metode MongoDB findOneAndUpdate()

Metode findOneAndUpdate() seperti seorang detektif yang mencari dokumen, mengemaskini ia, dan kemudian melaporkan kembali dengan baik dokumen asal atau yang dikemaskini. Mari kita lihat ia dalam aksi:

db.books.findOneAndUpdate(
{ title: "1984" },
{ $set: { genre: "Dystopian Fiction" } },
{ new: true }
)

Metode ini mencari buku "1984", menambah genre, dan mengembalikan dokumen yang dikemaskini (kerana 'new: true'). Itu seperti meminta pustakawan anda untuk mencari buku, menambah label genre, dan menunjukkan buku yang dikemaskini.

Metode MongoDB updateOne()

Metode updateOne() adalah sempurna ketika anda pasti hanya mahu kemaskini satu dokumen. Berikut adalah bagaimana anda mungkin menggunakannya:

db.books.updateOne(
{ title: "The Catcher in the Rye" },
{ $set: { status: "Checked Out" }, $inc: { timesCheckedOut: 1 } }
)

Ini mengemaskini status "The Catcher in the Rye" kepada "Checked Out" dan meningkatkan pengiraan 'timesCheckedOut'. Itu seperti mengemaskini status buku tunggal di sistem pustaka anda.

Metode MongoDB updateMany()

Terakhir tetapi bukan kurang penting, kita ada updateMany(). Metode ini sangat baik ketika anda perlu membuat perubahan kepada banyak dokumen sekaligus. Mari kita lihat contoh:

db.books.updateMany(
{ year: { $lt: 1900 } },
{ $set: { category: "Classic" }, $inc: { specialEditionPrice: 5 } }
)

Operasi ini mencari semua buku yang diterbitkan sebelum 1900, mengkategorikan mereka sebagai "Classic", dan meningkatkan harga edisi khas mereka sebanyak 5. Itu seperti mengelus keseluruhan pustaka anda dan mengemaskini semua buku tua sekali!

Sekarang, mari rangkum semua metode ini dalam jadual mudah:

Metode Description Use Case
update() Kemaskini dokumen tunggal atau banyak Penggunaan umum pengemaskini
save() Masukkan dokumen baru atau kemaskini yang sedia ada Ketika anda tidak yakin jika dokumen wujud
findOneAndUpdate() Cari dokumen, kemaskini ia, dan kembalikan baik dokumen asal atau yang dikemaskini Ketika anda perlu tahu keadaan dokumen sebelum atau selepas kemaskini
updateOne() Kemaskini dokumen tunggal Ketika anda pasti hanya mahu kemaskini dokumen tunggal
updateMany() Kemaskini banyak dokumen Ketika anda perlu membuat perubahan kepada banyak dokumen sekaligus

Ingat, para padawan muda, pengemaskinian dokumen di MongoDB adalah seperti merawat kebun. Anda perlu berhati-hati dan tepat, tetapi dengan alat ini di tangan anda, anda boleh membentuk data anda secara indah.

Sekarang, biarkan kitaakhiri pelajaran ini, saya teringat tentang masa saya secara tidak sengaja mengemaskini semua buku di pangkalan data saya untuk ditulis oleh "Anonymous". Itu mengambil jam untuk memperbaikinya, tetapi ia mengajarkan saya pentingnya untuk being spesifik dalam pertanyaan saya. Sentiasa periksa syarat anda sebelum menekan butang kemaskini!

Sekarang, pergi dan kemaskini dokumen anda dengan keyakinan. Mayat pertanyaan anda menjadi tepat dan kemaskini anda pantas!

Credits: Image by storyset