[英]How to access a specific field in Expressjs returned by mongodb collection.find method?
我正在嘗試訪問從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
謝謝
檢查回調中的錯誤參數,您的返回參數為:
x=docs[0]...
並不是:
x=doc[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/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.