En MongoDB ¿cómo se usa $set
para actualizar un valor anidado?
Por ejemplo, considere una colección personas con el siguiente documento:
{
_id: ObjectId("5a7e395e20a31e44e0e7e284"),
name: "foo",
address: { street: "123", town: "bar" }
}
¿Cómo se actualiza el campo street
incrustada en el documento address
"123"
-"Main Street"
?
¿Funciona esto incluso si la dirección no existe? Sé que $ set creará street si no existe en la dirección, pero ¿cuál es el comportamiento si las propiedades ancestrales no existen? Además, su enlace requiere un inicio de sesión. – Tom
@Tom, gracias por el aviso sobre el enlace, lo he arreglado. Para responder a su pregunta: creará las propiedades ancestrales requeridas para usted si no existen. –
@Tom Sí lo hará. Creará todo el objeto hasta el campo que está configurando. (Respuesta tardía, pero espero que esto sea útil para que otros tropiecen con esta pregunta) – Nepoxx