В MongoDB как вы используете $set
для обновления вложенного значения?
Для примера рассмотрим коллекцию людей следующий документ:
{
_id: ObjectId("5a7e395e20a31e44e0e7e284"),
name: "foo",
address: { street: "123", town: "bar" }
}
Как обновить street
поле внедренный в address
документе от "123"
к "Main Street"
?
Работает ли это, даже если адрес не существует? Я знаю, что $ set создаст улицу, если она не существует по адресу, но что такое поведение, если свойства предков не существуют? Кроме того, для вашей ссылки требуется логин. – Tom
@ Тома, спасибо за хедз-ап по ссылке, я ее исправил. Чтобы ответить на ваш вопрос: он создаст для вас искомые наследственные свойства, если они не существуют. –
@ Тома Да, это будет. Он создаст весь объект до поля, которое вы устанавливаете. (Поздний ответ, но, надеюсь, это полезно для других, спотыкающихся об этом вопросе) – Nepoxx