Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js MongoDB未从返回所有对象_Node.js_Mongodb - Fatal编程技术网

Node.js MongoDB未从返回所有对象

Node.js MongoDB未从返回所有对象,node.js,mongodb,Node.js,Mongodb,我是MongoDB的新手,我正在Node.js驱动程序中使用它。 这是我的密码: 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

我是MongoDB的新手,我正在Node.js驱动程序中使用它。 这是我的密码:

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集合中的所有结果返回到网页,但这只是返回第一个结果。
我做错了什么?

使用
toArray()


这立刻奏效了!再一个问题,如果我的对象是标准格式的
{a:2,b:3,c:4}
我将如何获得
数据的结果。a
?response.send(data.a)不返回任何值。
console.log(data)
并发布它显示的内容,可能很简单:)@MonsterWimp757——最有可能的答案是,因为它返回一个数组,所以请尝试
data[0]。a
出于某种原因,这只返回数组中的第一个结果-它只返回2,而不是3,4。。。编辑好,所以我感到困惑-我只看到了第一个对象,因为数据[0]表示toArray()中的第一个对象。因此,我似乎发现了真正的问题。我在这里做了一个for循环:
for(I-in-data){console.log(data[I].a);}
它工作得很好,但是如果我将它更改为:
for(I-in-data){response.send(data[I].a);}
它将只返回第一个值。你知道为什么会有不同的表现吗?
db.collection('firstImport').find().toArray(function(err, data){
    if(data != null)response.send(data);
});