Perhatian :Mongo id harus seunik mungkin agar skalanya bagus. Default ObjectId terdiri dari stempel waktu, ID mesin, ID proses, dan nilai peningkatan acak. Membiarkannya hanya dengan yang terakhir akan membuatnya rawan tabrakan.
Namun, terkadang Anda sangat ingin mempercantik nilai ObjectID yang tidak pernah berakhir (yaitu ditampilkan di URL setelah encoding ). Kemudian, Anda harus mempertimbangkan untuk menggunakan strategi kenaikan atom yang sesuai .
Mengganti contoh _id:
db.testSOF.insert({_id:"myUniqueValue", a:1, b:1})
Membuat Urutan Peningkatan Otomatis :
- Gunakan Koleksi Penghitung :Pada dasarnya koleksi terpisah yang melacak nomor terakhir dari urutan. Secara pribadi, saya merasa lebih kohesif untuk menyimpan fungsi findAndModify dalam koleksi system.js, meskipun kurang kemampuan kontrol versi.
- Lingkaran Optimis
Sunting:
Saya menemukan masalah di mana pemilik sails-mongo berkata:
Dia menyebutkan teknik pertama yang saya tambahkan dalam jawaban ini:Gunakan Koleksi Penghitung . Dalam masalah yang sama, lewins menunjukkan solusi.