Upsert Array Elements matching criteria in a MongoDB document?

По Как обновить элементы массива, соответствующие критериям в документе MongoDB?

Я хочу вставить элементы массива, так что если один не совпадает, то вставьте его, иначе обновите его.

Я попробовал ответ на этот вопрос, и он работает нормально, если элемент массива уже существует. Если элемент не существует, то он создает дочерний элемент "$" под полем массива.

Моя структура Mongo выглядит следующим образом:

Widget (collection)
--Name
--Properties (array)
  --Name
  --Value

Мое приложение получает имя виджета и список свойств от вызова WebService. Я хочу выполнить итерацию предоставленных свойств и обновить значение в MongoDB, если имя уже существует, ИЛИ вставить новое свойство в массив свойств, если его нет.

9
задан Community 23 May 2017 в 11:45
поделиться