如何访问mongodb collection.find方法返回的Expressjs中的特定字段?

时间:2016-08-14 00:37:28

标签: javascript mongodb express

我正在尝试访问从mongodb collection.find方法返回的一个字段 ,我无法做到这一点,并且在console.log上没有显示任何内容

router.get('/buildings', function(req, res, next) {
var db = req.db;
var collection = db.get('buildings');

collection.find({buildingNO:"1"},{},function(e,docs){
     var x=docs[0].price;
     console.log(x);
    });
});

注意:我正在使用和尚中间件而非本地mongodb

感谢

2 个答案:

答案 0 :(得分:1)

检查回调中的错误参数,返回参数为:

x=docs[0]...

而不是:

x=doc[0]

我很惊讶你没有得到未定义的变量错误。

答案 1 :(得分:0)

您可以在nodejs中使用功能 projection

投影是您传递空{}的第二个对象,因此将投影所有属性。

例如:

如果您投影的对象如下:

{
_id:false// or 0
}

将省略_id属性。

我们将在此处传递price

collection.find({buildingNO:"1"},{price:1},function(e,docs){
     var x=docs[0].price;
     console.log(x);
    });
  

doc [0] 上的拼写错误 docs

http://docs.mongodb.org/manual/reference/method/db.collection.find/