Почему не удаляется Observer из NSNotificationCenter: addObserverForName: usingBlock вызывается

Если я правильно понял вопрос, вы хотите обновить документ с содержимым другого документа, но только те поля, которые еще не присутствуют, и полностью игнорировать уже установленные поля (даже если это другое значение).

Невозможно сделать это в одной команде.

Сначала вы должны запросить документ, выяснить, что вы хотите $set, а затем обновить его (используя старые значения в качестве фильтра соответствия, чтобы убедиться, что вы не получаете параллельных обновлений между ними.


Другое чтение вашего вопроса состояло бы в том, что вы довольны $set, но не хотите для явного задания всех полей. Как вы могли бы передать данные?

Вы знаете, что можете сделать следующее:

db.collection.update(  { _id:...} , { $set: someObjectWithNewData } 
13
задан warpedspeed 12 December 2011 в 16:41
поделиться