我正在尝试访问从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
感谢
答案 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/