В MongoDB как вы используете $ set для обновления вложенного значения / встроенного документа? - PullRequest
32 голосов
/ 30 сентября 2010

В MongoDB как использовать $set для обновления вложенного значения?

Например, рассмотрим коллекцию людей со следующим документом:

{
  _id: ObjectId("5a7e395e20a31e44e0e7e284"),
  name: "foo",
  address: { street: "123", town: "bar" }
}

Как обновить поле street, встроенное в документ address, с "123" на "Main Street"?

Ответы [ 2 ]

58 голосов
/ 30 сентября 2010

Использование точечной нотации :

db.people.update({ }, { $set: { "address.street": "Main Street" } })
2 голосов
/ 11 марта 2015

В дополнение к ответу Нильса также проверьте «тип» вложенного значения.В моем случае это была «строка», сформированная из json.Хотя это может быть маловероятным, но убедитесь, что значение имеет правильный тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...