Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法通过将值字段和集合名称作为节点js中的参数传递来从mongodb获取记录_Javascript_Node.js_Mongodb_Mongodb Query - Fatal编程技术网

Javascript 无法通过将值字段和集合名称作为节点js中的参数传递来从mongodb获取记录

Javascript 无法通过将值字段和集合名称作为节点js中的参数传递来从mongodb获取记录,javascript,node.js,mongodb,mongodb-query,Javascript,Node.js,Mongodb,Mongodb Query,我试图获取记录是否存在,因此我将值、mongo db字段和集合名称作为参数传递,无法从数据库中获取记录。但是,如果我删除字段名并直接在搜索函数中给出,它就可以工作了。我不知道为什么它不工作,如果我给输入字段也 dboperations.search(req.body.userid,"userid" ,"customers",function (result) { console.log(result) } 我正在使用此函数调用搜索函数,搜索函数定义为 exports.s

我试图获取记录是否存在,因此我将值、mongo db字段和集合名称作为参数传递,无法从数据库中获取记录。但是,如果我删除字段名并直接在搜索函数中给出,它就可以工作了。我不知道为什么它不工作,如果我给输入字段也

dboperations.search(req.body.userid,"userid" ,"customers",function (result) {
        console.log(result)
    }
我正在使用此函数调用搜索函数,搜索函数定义为

exports.search=function(value,field,collection,callback){

   mongo.get().collection(collection).find({field:value}).toArray(function(err, result) {

        if (err) throw err;
        console.log(result)
        callback(result)
    });
}

将变量用[]对齐,以便对请求进行如下解释:

mongo.get().collection(collection).find({[field]:[value]}).toArray(err, result) {

});

将变量用[]对齐,以便对请求进行如下解释:

mongo.get().collection(collection).find({[field]:[value]}).toArray(err, result) {

});
试试这个代码

试试这个代码

使用动态对象键

exports.search=function(value,field,collection,callback){

   mongo.get().collection(collection)
        .find({[field]:value}) // <- fix is here
        .toArray(function(err, result) {

        if (err) throw err;
        console.log(result)
        callback(result)
    });
}
exports.search=函数(值、字段、集合、回调){
mongo.get()集合(集合)
.find({[field]:value})/使用动态对象键

exports.search=function(value,field,collection,callback){

   mongo.get().collection(collection)
        .find({[field]:value}) // <- fix is here
        .toArray(function(err, result) {

        if (err) throw err;
        console.log(result)
        callback(result)
    });
}
exports.search=函数(值、字段、集合、回调){
mongo.get()集合(集合)

.find({[field]:value})//对不起,我听不懂,酷!别忘了验证响应,或者我听不懂,酷!别忘了验证响应,因为它在工作,我能知道这背后的概念吗,这样我就可以通过it@vamsireddy这里有一篇短文@vamsireddy,你的问题是{field:value}表示您正在搜索一个名为“field”且值为value的字段。@vamsireddy但{[field]:value}这意味着您将搜索一个字段,其值为field variable,而不是字符串'field',谢谢它的工作原理,我可以知道这背后的概念吗,以便我可以通过it@vamsireddy这里有一篇短文@vamsireddy,您遇到的主要问题是{field:value}表示您正在搜索一个名为“field”且值为的字段。@vamsireddy,但{[field]:value}表示您将搜索一个值为field variable的字段,而不是字符串“field”