我的数据库具有此值
id: ObjectId(6a00683bac41ce1054774e7d),
currentuserid: "69fc06dbf88c8c15042b4e36",
dataset: Array
0: Object
userid: "69fc06dbf88c8c15042b4e37"
1: Object
userid: "69fc06dbf88c8c15042b4e38"
2: Object
userid: "69fc06dbf88c8c15042b4e39"
现在我想查询哪个首先检查“currentuserid”是否存在于数组下。如果Value存在则返回true,否则返回false。我是mongodb的新手。我还阅读了 $ in Operator 。我的问题是
Mydata.find({ dataset: { $in: [{userid: '69fc06dbf88c8c15042b4e36'}] } }, function(req, res){
if(err){ console.log('Not Matched'); }
else{ console.log('Matched') }
});
但我无法实现它
答案 0 :(得分:1)
试试这个:
Mydata.findOne({dataset:{$elemMatch:{userid:'69fc06dbf88c8c15042b4e37'}}},function(err, data){
if(err){
throw err;
} else if(data){
console.log('Matched');
}else{
console.log('Not Matched')
}
});
对于userid 69fc06dbf88c8c15042b4e36 ,结果数据为null。