MongoDb - Как обновить несколько элементов вложенного объекта с помощью $ set?

Предположим, что у меня есть следующий документ:

{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-

TypeError: 'str' не поддерживает интерфейс буфера - python В настоящее время я делаю онлайн-серию головоломок Python, и у меня возникла проблема, когда нужно выгрузить маринованный файл. Я прочитал документацию по нему, но я продолжал получать TypeError: 'str' не...

В настоящее время я занимаюсь онлайн-серией головоломок 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 с первым примером кода в учебном пособии.

5
задан xster 8 December 2012 в 06:26
поделиться