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

Bagaimana cara menambahkan kenaikan otomatis ke koleksi yang ada di mongodb/node.js?

MongoDB tidak memiliki fungsi peningkatan otomatis bawaan.

Buat koleksi baru untuk melacak nilai urutan terakhir yang digunakan untuk penyisipan:

db.createCollection("counter")

Ini hanya akan menyimpan satu rekor sebagai:

db.counter.insert({_id:"mySequence",seq_val:0})

Buat fungsi JavaScript sebagai:

function getNextSequenceVal(seq_id){
   // find record with id seq_id and update the seq_val by +1
   var sequenceDoc = db.counter.findAndModify({
      query:{_id: seq_id},
      update: {$inc:{seq_val:1}},
      new:true
   });

   return sequenceDoc.seq_val;
}

Untuk memperbarui semua nilai yang sudah ada dalam koleksi yang ada, ini akan berfungsi (Untuk {} yang kosong, Anda bisa menempatkan ketentuan jika ingin memperbarui beberapa dokumen saja):

db.myCollection.update({},
   {$set:{'_id':getNextSequenceVal("mySequence")}},{multi:true})

Sekarang Anda dapat memasukkan catatan baru ke dalam koleksi yang ada sebagai:

db.myCollection.insert({
   "_id":getNextSequenceVal("mySequence"),
   "name":"ABC"
})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Koneksi Mongodb di PHP tidak berfungsi

  2. Bagaimana cara mongoexport atribut dari array objek ke CSV?

  3. Operasi Mongo mulai kelaparan

  4. Symfony2 + Perlu menggunakan ekspresi reguler di mongodb ODM doktrin untuk memeriksa pemeriksaan tidak peka huruf besar-kecil

  5. kueri mongodb berdasarkan sub-bidang