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

Menggunakan fungsionalitas Mongoose / MongoDB $addToSet pada array objek

Anda perlu menggunakan $ne operator.

var data = { 'kind': 'tortoise', 'hashtag': 'foo' };
Model.update(
    { 'articles.hashtag': { '$ne': 'foo' } }, 
    { '$addToSet': { 'articles': data } }
)

Ini akan memperbarui dokumen hanya jika tidak ada sub dokumen dalam larik "artikel" dengan nilai hashtag sama dengan "foo".

Seperti yang disebutkan @BlakesSeven dalam komentar

$addToSet menjadi tidak relevan setelah Anda menguji keberadaan salah satu nilai, jadi ini mungkin juga $push untuk kejelasan kode. Tapi prinsipnya benar karena $addToSet bekerja pada keseluruhan objek dan bukan hanya sebagian.

Model.update({ 
    { 'articles.hashtag': { '$ne': 'foo' } }, 
    { '$push': {'articles':  data } }
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara Mengamankan Server ClusterControl

  2. Praktik Terbaik untuk Pencadangan Basis Data

  3. Faktor yang Perlu Dipertimbangkan Saat Memilih MongoDB untuk Aplikasi Big Data

  4. Bagaimana cara menghapus duplikat berdasarkan kunci di Mongodb?

  5. Batas kedalaman bidang Objek bersarang MongoDB