уведомление iphone приводит к «нераспознанному селектору, отправленному в экземпляр…»

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

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

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


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

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

db.collection.update(  { _id:...} , { $set: someObjectWithNewData } 
13
задан Jacob Relkin 2 November 2011 в 13:16
поделиться

0 ответов

Другие вопросы по тегам:

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