2013-10-29 47 views
0

我是新来的MongoDB,我用它与Node.js驱动程序。 这里是我的代码:MongoDB不返回所有对象

var express = require('express'); 
var MongoClient = require('mongodb').MongoClient; 
var Server = require('mongodb').Server; 

var app = express(); 
var mongoclient = new MongoClient(new Server('localhost', 27017, {'native_parser' : true})); 

var db = mongoclient.db('test'); 
app.get('/', function(request, response) {               

db.collection('firstImport').find().each(function(err, data){ 
    if(data != null)response.send(data); 
}); 
}); 


var port = process.env.PORT || 8080; 
mongoclient.open(function (err, mongoclient){ 
if (err) throw err; 

app.listen(8080); 
console.log("Express server started on 8080") 
}); 

我想在我的收藏firstImport返回所有结果的网页,但是这仅仅是返回的第一个结果。
我在做什么错?

回答

1

使用toArray()

db.collection('firstImport').find().toArray(function(err, data){ 
    if(data != null)response.send(data); 
}); 
+0

这个工作的时候了! 再次提问,如果我的对象是标准格式'{a:2,b:3,c:4}' 我怎样才能得到'data.a'的结果? response.send(data.a)不返回任何值。 – MonsterWimp757

+0

'console.log(data)'并发布它显示的内容,可能很简单:) – tymeJV

+0

@ MonsterWimp757 - 最可能的答案是,由于它返回一个数组,因为某些原因尝试'data [0] .a' – tymeJV

相关问题