Предположим, что у меня есть следующий документ:
{name: 'myDoc', nestedDoc: {a: 1, b: 2, c: 3}}
И я хотел бы объединить с nestedDoc новый объект:
{b: 20, c:30, d:40}
Таким образом, результирующий объект будет:
{name: 'myDoc', nestedDoc: {a: 1, b: 20, c: 30, d: 40}}
Как я могу сделать это в одном запросе? Мне кажется, что мне нужно несколько вызовов $ set, однако имена свойств объекта должны быть уникальными. Другими словами, я хотел бы сделать следующее:
db.myCollection.update({name: 'myDoc', nestedDoc: {$set: {b: 20}, $set: {c: 30}, $set: {d: 40}});
Некоторые дополнительные подробности заключаются в том, что версия MongoDB - 1.8.2, и я использую драйвер узла NireJS.
-121--1159736-
В настоящее время я занимаюсь онлайн-серией головоломок Python, и у меня возникла проблема с выгрузкой маринованного файла. Я прочитал документацию по нему, но я продолжал получать
TypeError: 'str' не поддерживает интерфейс буфера
... Поэтому я ищу в Google и прихожу к вопросу о SO с аналогичной проблемой. Ответ указывает на http://wiki.python.org/moin/UsingPickle .
Я попробовал код в примере и у меня та же проблема? Я использую Python 3.2.2. WTF??
Полная трассировка:
Traceback (most recent call last):
File "C:\foo.py", line 11, in
test1()
File "C:\foo.py", line 9, in test1
favorite_color = pickle.load( open( "save.p" ) )
TypeError: 'str' does not support the buffer interface
Из приведенного здесь примера http://wiki.python.org/moin/UsingPickle
Я уже успешно создал файл save.p с первым примером кода в учебном пособии.