如何从MongoDB文档中获取价值

时间:2011-11-06 21:36:19

标签: javascript mongodb node.js

我正在尝试从mongodb文档中获取值,但即使request正确,我也无法获得结果:

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 result类型的字符串,我不确定我的查询是否足以从数据库中提取字符串。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

试试这段代码。我认为你使用find方法不正确。据我所知,所有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));   
        })
    }); 
});

答案 1 :(得分:1)

我必须使用collection.findOne(request, function(...))而不是collection.find。这解决了问题。