Di mongodb setiap dokumen harus unik, jadi Anda memerlukan bidang unik untuk digunakan sebagai id. Jika Anda tidak menyediakannya, mongodb akan menyediakannya untuk Anda secara otomatis. Namun, jika Anda ingin memberikan id khusus untuk alasan apa pun (meningkatkan kinerja kueri menjadi salah satunya), Anda dapat melakukannya secara manual. Ini dia saran saya:
Jika Anda memasukkan dokumen baru, Anda dapat mengatur bidang _id secara manual seperti:
doc._id = "12312312" //(Or whichever function to generate id you have)
doc.save(...)
Tetapi ketika Anda sudah memiliki dokumen dalam database, Anda tidak dapat mengubahnya lagi. Yang dapat Anda lakukan adalah membuat salinan dokumen, menyimpan dokumen baru dengan data yang sama dan menghapus yang lama:
// Fetch the documents
docs = db.clients.find({})
docs.forEach((doc) => {
//For each field you copy the values
new_doc.field = doc.field
new_doc._id = //YOUR ID FUNCTION
// insert the document, using the new _id
db.clients.insert(new_doc)
// remove the document with the old _id
db.clients.remove({_id: doc._id})
}
Pertanyaan ini mirip dengan pertanyaan berikut:
Bagaimana cara memperbarui _id dari satu Dokumen MongoDB?
Semoga jawaban saya membantu