Che*_*rif 2 mongoose mongodb mongodb-query
我正在使用Mongoose,我正在尝试更新数组元素并将其更新回来.这是我的文档结构:
{ name:String,
friends:[
{ name:String,
age:Number
}
]
}
Run Code Online (Sandbox Code Playgroud)
当我执行以下查询时,我得到了结果中的所有朋友,但我只想让25岁的朋友回来:
theCollection.findOneAndUpdate(
{ name : 'cherif',
'friends.name':'kevin'
},
{ $set:{
'friends.$.age':25
}
},
{ friends:
{ $elemMatch:
{ age : 25 }
}
},
function(err,result){
if (!err) {
console.log(result);
}});
Run Code Online (Sandbox Code Playgroud)
Joh*_*yHK 10
由于该文档的findOneAndUpdate规定,你需要包括你的投影对象作为select该物业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);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6991 次 |
| 最近记录: |