你有
docs.each
在您的代码中,它将遍历
doc
你从
find()
查询(数组)并在其中
each
阻止发送响应,即,
res.end(JSON.stringify(response));
,对第一条记录立即执行,因此您将得到一个对象作为响应而不是数组。
要返回需要放置的数组
res.end(json.stringify(response));
在外面
each()
循环
toArray
功能。你甚至可以移除
()
如果不需要,则循环。因此,您的代码将类似于:
exports.getAllMinisters = (req, res, next)=>{
db.collection('users').find({}).toArray(function (err, docs) {
if (err) {return next(err);}
docs.each(function (err, doc) {
if (doc) {
//code for single doc
console.log(doc);
}
});
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(docs));
});
};