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

Bagaimana cara multi pembaruan array bersarang di MondoDB?

Itu karena Anda menggunakan operator $:Operator $ posisional mengidentifikasi sebuah elemen (bukan multi) dalam array untuk diperbarui tanpa secara eksplisit menentukan posisi elemen dalam array. Untuk memproyeksikan, atau mengembalikan, elemen larik dari operasi baca, lihat operator proyeksi $.

Anda dapat menggunakan kode di bawah ini untuk melakukannya:

db.playground.find({
  $and: [
    {
      "TargetSegments.Colors": {
        $exists: true
      }
    },
    {
       "ProjectFileId": 1
    },
    {
      "SourceLanguageId": 2
    },
    {
      "TargetSegments": {
        $elemMatch: {
          "LanguageId": 1
        }
      }
    }
  ]
}).forEach(function(item)
{
    var targets = item.TargetSegments;

    for(var index = 0; index < targets.length; index++)
    {
        var target = targets[index];
        target.Segment = null,
        target.Colors= [],
        target.Widths= [],
        target.Heights= []
    }

    db.playground.save(item);
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Gagal:tidak ada maksud untuk pengumpulan dalam arsip

  2. MongoDB - Memproyeksikan bidang yang tidak selalu ada

  3. Apakah urutan Kunci penting dalam dokumen MongoDB BSON?

  4. Cara mendapatkan ukuran dalam byte dokumen bson

  5. cara mengimpor file excel (XLSX) ke mongoDB