¿Existe alguna manera fácil de reemplazar un documento incrustado completo en una matriz? Say sustitución:Reemplazo de documentos incrustados en matriz en MongoDB
{
"_id" : "2",
"name" : "name2",
"xyz..." : "xyz2..."
}
con:
{
"_id" : "2",
"name" : "name6",
"xyz..." : "xyz5..."
"morefields..." : "fields..."
}
Buscando _id (incrustado). ¿O necesito reemplazar cada campo individualmente usando $ set?
{
"_id" : "2",
"users" : [{
"_id" : "1",
"name" : "name1",
"xyz..." : "xyz1..."
}, {
"_id" : "2",
"name" : "name2",
"xyz..." : "xyz2..."
}],
"name" : "main name"
}
Eso funciona genial, gracias! Es interesante la segunda alternativa, pero no estoy seguro de que funcione, ya que tendré que eliminar algunas entradas en el medio. "users.2" es la posición en la matriz que asumo. –
Pensé que los usuarios.2 se referían a la posición de la matriz pero en realidad usa la identificación (y devuelven los corchetes vacíos para todos los demás elementos de la matriz}, genial. –
MongoDB reconoce las matrices en una consulta. Así 'users.2' podría buscar a través de' matriz de usuarios buscando objetos con 'clave' de' 2' * o * podría mirar la 'clave: 2' de' usuarios'. –