如下代码,$where内取不到外面的变量,比如req,提示req未定义,求解是为什么啊?
router.get('/get',(req,res)=>{
comments.find({$where:function(){
return this._id===req.query.id
}},{email:0}).exec((err,docs)=>{
if(err){
res.json({
sts:0,
data:err
})
return
}
res.json({
sts:1,
data:docs
})
})
})
自问自答了,虽然还是不知道为什么$where写成函数就取不到函数外的变量的值,不过改成字符串
可以取到,如果有哪位大神知道为什么函数就取不到值求解惑。感谢!