objects - Mongodb: ¿la proyección del elemento de matriz con findOneAndUpdate no funciona?
mongoose find in array of objects (1)
Como se especifica en los documentos de findOneAndUpdate
, debe incluir su objeto de proyección como propiedad de selección del parámetro de options
:
theCollection.findOneAndUpdate(
{ name : ''cherif'',
''friends.name'':''kevin''
},
{ $set:{
''friends.$.age'':25
}
},
{ select: {
friends: {
$elemMatch:
{ age : 25 }
}
}
},
function(err,result){
if (!err) {
console.log(result);
}
});
Estoy usando Mongoose y estoy tratando de actualizar un elemento de matriz y volver a actualizarlo. Esta es mi estructura de documento:
{ name:String,
friends:[
{ name:String,
age:Number
}
]
}
Cuando ejecuto la siguiente consulta, obtengo a todos los amigos en el resultado, pero solo quiero recuperar a mis amigos de 25 años:
theCollection.findOneAndUpdate(
{ name : ''cherif'',
''friends.name'':''kevin''
},
{ $set:{
''friends.$.age'':25
}
},
{ friends:
{ $elemMatch:
{ age : 25 }
}
},
function(err,result){
if (!err) {
console.log(result);
}});