运算符从集合中获取文档"/>
如何在mongodb中使用$ nin运算符从集合中获取文档
我有这样的用户架构
const userSchema= new mongoose.Schema({
Username:{
type:String,
trim:true,
required:true
},
email:{
type:String,
trim:true,
required:true
},
hashed_password:{
type:String,
trim:true,
required:true
},
salt:String,
created:{
type:Date,
default:Date.now,
},
updated:Date,
photo:{
data:Buffer,
contentType:String
},
about:{
type:String
},
following:[{type:ObjectId,ref:"User",}],
followers:[{type:ObjectId,ref:"User"}]
})
当我运行查询时
User.find({$_id:{$nin:following}} , (err, users) => {
if (err) {
return res.status(400).json({
error: err,
});
}
res.json(users)
// let data=users
// console.log(following.length,"following")
// console.log(newuser)
}).select("Username")
};
the following variable is an array of objects like this
<< [ -05-13T19:37:17.161Z“}]after running the query i get an error:
"errmsg": "unknown top level operator: $_id",
"code": 2,
"codeName": "BadValue",
如何在查询中正确输入字段回答如下:与操作符mongodb一样,从
$
中删除_id
将其识别为与operator
类似的($match etc)
,但是没有这样的操作符,因此会引发错误User.find({_id:{$nin:following}} , (err, users) => {
if (err) {
return res.status(400).json({
error: err,
});
}
res.json(users)
// let data=users
// console.log(following.length,"following")
// console.log(newuser)
}).select("Username")
};
更多推荐
如何在mongodb中使用$ nin运算符从集合中获取文档
发布评论