В MongoDB Как вы используете $, чтобы обновить вложенное значение / встроенный документ?

StackOverflow https://stackoverflow.com/questions/3828452

  •  26-09-2019
  •  | 
  •  

Вопрос

В MongoDB, как вы используете $set обновить вложенное значение?

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

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

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

Это было полезно?

Решение

Используя нотация:

db.people.update({ }, { $set: { "address.street": "Main Street" } })

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top