MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да актуализирате многократно вложен масив в MondoDB?

Причината е, че използвате оператор $:Позиционният оператор $ идентифицира елемент (не мулти) в масив за актуализиране без изрично указване на позицията на елемента в масива. За да проектирате или върнете елемент от масив от операция за четене, вижте оператора $ projection.

Можете да използвате кода по-долу, за да го направите:

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. Топ 5 предимства на споделения MongoDB хостинг

  2. Как да приложим ограничения в MongoDB?

  3. C# mongodb драйвер 2.0 - Как да връщам в групова операция?

  4. MongoDB агрегатен масив с две полета

  5. Обяснете Aggregate framework