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

MongoDB - Menambahkan ke set dan incrementing

Jika Anda ingin beralih dari daftar ke hash (objek), Anda dapat melakukannya secara atom.

Dari dokumen :"$inc ... menambah bidang dengan nilai angka jika bidang ada di objek, jika tidak, setel bidang ke nilai angka."

{ $inc : { field : value } }

Jadi, jika Anda dapat memfaktorkan ulang wadah dan objek Anda:

words: [
  {
    'word': 'foo',
    'count': 1
  },
  ...
]

ke:

words: {
  'foo': 1,
  'other_word: 2,
  ...
}

anda dapat menggunakan operasi update dengan:

{ $inc: { 'words.foo': 1 } }

yang akan membuat { 'foo': 1 } jika 'foo' tidak ada, jika tidak tambahkan foo.

Mis.:

$ db.bar.insert({ id: 1, words: {} });
$ db.bar.find({ id: 1 })
[ 
  {   ...,   "words" : {     },   "id" : 1   }
]
$ db.bar.update({ id: 1 }, { $inc: { 'words.foo': 1 } });
$ db.bar.find({ id: 1 })
[ 
  {   ...,   "id" : 1,   "words" : {   "foo" : 1   }   }
]
$ db.bar.update({ id: 1 }, { $inc: { 'words.foo': 1 } });
$ db.bar.find({ id: 1 })
[ 
  {   ...,   "id" : 1,   "words" : {   "foo" : 2   }   }
]


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Membandingkan tanggal di Mongodb dengan driver C# LINQ

  2. Grup MongoDB berdasarkan jam

  3. Bagaimana Anda membuat serialisasi tipe nilai dengan serializer MongoDB C#?

  4. Dapatkan elemen tertentu dari array mongoDB

  5. Kesalahan selama mongoimport