插入对象MongoDB的数组 [英] Insert Into Array of object MongoDB
本文介绍了插入对象MongoDB的数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有
{
"_id" : ObjectId("5a25af80d2c4dd065991dccc"),
"username" : "abc@gmail.com",
"password" : "$2a$10$ptFyLKtyyrL5gMYdXS6wV.HLUA4Py5iudMJDldf5qsHFS4.9TPCyy",
"role" : "Admin",
"__v" : 0,
"list" : [
{
"name" : "We",
"arr" : [
"5a26d554677475818a795f75",
"5a395bb0976d5304c07f7dd4"
]
},
{
"name" : "sandeep",
"arr" : [
"5a26d554677475818a795f75"
]
}
]
}
我想在list.arr中添加一个元素,其中name ='we' 并仅在元素不存在时添加
I want to add an element inside list.arr where name = 'we' and add only if the element does not exist
我如何执行此查询.
推荐答案
通过使用此嵌套查询,我解决了这个问题. 我正在使用Node JS
By using this nested query I solved this problem. I'm doing it with Node JS
router.post('/prevList', (req, res) => {
User.update({'_id':req.user.id, list: { $elemMatch: { name: req.body.name } } },{ $addToSet: { "list.$.arr": {$each: req.body.arr} } },function(err,data) {
console.log(data);
res.send(data)
});
});
这里
req.body: {name:'we',arr:["5a395bb0976d5304c07f7dd4"]}
和req.user.id
是身份验证ID.
希望这对您也有帮助.
这篇关于插入对象MongoDB的数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文