为什么"哪里" mongodb在node.js中不起作用?

时间:2018-03-29 13:28:12

标签: node.js mongodb

我是node.jsmongodb的初学者。所以如果我的问题看起来很愚蠢,请原谅我。基本上我试图通过{使用{来执行以下操作{1}}和where运算符可以从this question获得一些精确的结果,但它显示错误。

代码:

or

错误:

//here "data" is the emitted socket object from client side
var string = data.search.replace(/[\/\\#@+()$~%'":*?<>{}]/g, '')
        var regex = new RegExp(["^", string].join(""), "i");
        db.collection("user_information").find()
        .where('_id').ne(data.userId)
        .or([
           {email: regex}, 
           {fullname:regex}
         ])
        .select('fullname email')
        .exec(function(err, res){
         console.log(res)
        })

1 个答案:

答案 0 :(得分:2)

您链接的问题涉及使用Mongoose ORM library,而不是Node的标准MongoDB驱动程序。前者构建在后者之上,并公开了更高级别的API。如果您想使用其他问题的代码,则需要安装并导入Mongoose。

或者,如果您想继续单独使用Node驱动程序,可以通过传递query object作为find的第一个参数来执行查询 - 例如,您的第一个'where'看起来像这样:

db.collection("user_information").find({
    _id: { $ne: data.userId }
})

我建议您阅读MongoDB itselfNode driver的文档以获取更多信息。