【发布时间】:2018-08-28 02:42:08
【问题描述】:
我是 nodejs 的新手。我已经有一个名为 aqi 的数据库,其集合名称为 pln。我试图在网页上显示集合中的所有记录,但猫鼬总是返回空数组。 我已经用其他数据库对其进行了测试,但我可以从它们那里获取数据,但是对于 pln mongoose 总是返回空数组。 如果有人可以帮助我,我将不胜感激。 这是我的架构
var Pln = new Schema({
latit : Number,
longit : Number,
timestmp : String,
co : Number,
smoke : Number,
O3 : Number,
humidity : Number,
temperature: Number,
co2 : Number,
dust : String
});
var plnModel = mongoose.model('pln', Pln);
这是我的路线。
app.get('/', function(req, res) {
res.contentType('application/json');
plnModel.find({}, function(err, pln) {
if (pln != null) {
console.log('Found the User:' + pln.latit);
res.send(JSON.stringify(pln));
}
});
});
【问题讨论】:
-
你怎么知道它返回一个空数组?你没有记录它。
pln在一个数组中,所以测试if (pln != null)是没有用的,因为这总是正确的。另一方面,pln.latit将始终未定义,因为[].latit未定义。另外,你为什么要对文件进行字符串化?它不起作用,因为您设置了contentType('application/json')并且您正在发回一个字符串。只需发回res.status(200).json(pln)。 -
我确实记录了它,并且在控制台中它也返回 []。但是我已经用我的测试数据库对其进行了测试,我可以看到所有数据。
-
您的数据库名称是什么?它有多少条记录?
-
数据库名称是aqi,集合名称是pln,大约有1610条记录
标签: node.js mongodb mongoose-schema