@hunk3r

Как правильно сделать Foreach в mongodb?

Привет.
Для каждого элемента входного массива (str), необходимо сделать find с проверкой: если > 1 документа, print name этих документов и идти к следующему, если = 1, то выполнить insert в name и subname (просто изменить 2 поля), если 0 print name и к следующему.
Пример:
var list = [001, 002, 003];     //исходный список номеров документов для исправления
   for list_id in list:     //для каждого элемента списка запускаем поиск
      var counter = db.collection.find ({"name": "abc", "Number":  {$in: [list]}}); //в переменную counter вносим кол-во найденных документов для последующего сравнения
         if counter is not $gt 1 and $ne 0 then //условие - больше 1 и не равно 0
            db.collection.update ({list_id}, {$set: {"name": "cba", "subname": "etc"}})  //изменяем в текущем документе с list_id два поля name и surname
         else print ({list_id}); //если документов 0 или больше 1, выводим их номера
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы