Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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 如何从MongoDB文档中获取值_Javascript_Mongodb_Node.js - Fatal编程技术网

Javascript 如何从MongoDB文档中获取值

Javascript 如何从MongoDB文档中获取值,javascript,mongodb,node.js,Javascript,Mongodb,Node.js,我试图从mongodb文档中获取一个值,但即使请求是正确的,我也没有得到结果: db.open(function(err, db){ var request = { 'hash' : req.params['link'] } db.collection('urlmaps', function(error, collection){ var result = collectio

我试图从mongodb文档中获取一个值,但即使
请求是正确的,我也没有得到结果:

db.open(function(err, db){
var request = {
          'hash' : req.params['link']
              }

                db.collection('urlmaps', function(error, collection){
                    var result = collection.find(request, {'long_url' : 1 });
                    console.log(JSON.stringify(result));
                    res.send(JSON.stringify(result));   
                }); 
});             

我希望得到字符串类型的
var结果,我不确定我的查询是否足以从数据库中取出字符串。有什么想法吗?

试试这段代码。我认为您使用的查找方法不正确。正如我所知,所有nodejs mongodb驱动程序都是异步的,并使用回调返回值

db.open(function(err, db){
    var request = {
      'hash' : req.params['link']
    }

    db.collection('urlmaps', function(error, collection){
        collection.find(request, {'long_url' : 1}, function(err, result){
            console.log(JSON.stringify(result));
            res.send(JSON.stringify(result));   
        })
    }); 
});

试试这个代码。我认为您使用的查找方法不正确。正如我所知,所有nodejs mongodb驱动程序都是异步的,并使用回调返回值

db.open(function(err, db){
    var request = {
      'hash' : req.params['link']
    }

    db.collection('urlmaps', function(error, collection){
        collection.find(request, {'long_url' : 1}, function(err, result){
            console.log(JSON.stringify(result));
            res.send(JSON.stringify(result));   
        })
    }); 
});

我不得不使用
collection.findOne(请求,函数(…)
而不是
collection.find
。这解决了问题

我不得不使用
collection.findOne(请求、函数(…)
而不是
collection.find
。这解决了问题