Mongoose 总是 return 空数组?
Mongoose always return empty array?
我是 nodejs.i 的新手,我已经有一个名为 aqi 的数据库,集合名称为 pln。我试图在网页上显示集合中的所有记录,但猫鼬总是 returns 空数组。
我已经用其他数据库对其进行了测试,但我可以从它们那里获取数据,但是对于 pln mongoose 总是 return 空数组。
如果有人能帮助我,我将不胜感激。
这是我的架构
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));
}
});
});
如果您这样定义模型:mongoose.model('pln', Pln)
,那么您的 collection 必须 命名为 'plns'
(= 您的模型名称 +小号)
如果不是这种情况,那么您必须通过使用 :
mongoose.model('pln', Pln, 'pln')
,第三个参数是您 collection 的真实姓名。
看看这段代码:
app.get('/', async (req, res) => {
try {
const pln = await plnModel.find().lean().exec(); // "lean" to get only JSON data (not Mongoose objects), faster
console.log('Found Users :', pln);
res.status(200).json(pln);
} catch(err) {
res.status(500).json(err);
}
});
我是 nodejs.i 的新手,我已经有一个名为 aqi 的数据库,集合名称为 pln。我试图在网页上显示集合中的所有记录,但猫鼬总是 returns 空数组。 我已经用其他数据库对其进行了测试,但我可以从它们那里获取数据,但是对于 pln mongoose 总是 return 空数组。 如果有人能帮助我,我将不胜感激。 这是我的架构
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));
}
});
});
如果您这样定义模型:mongoose.model('pln', Pln)
,那么您的 collection 必须 命名为 'plns'
(= 您的模型名称 +小号)
如果不是这种情况,那么您必须通过使用 :
mongoose.model('pln', Pln, 'pln')
,第三个参数是您 collection 的真实姓名。
看看这段代码:
app.get('/', async (req, res) => {
try {
const pln = await plnModel.find().lean().exec(); // "lean" to get only JSON data (not Mongoose objects), faster
console.log('Found Users :', pln);
res.status(200).json(pln);
} catch(err) {
res.status(500).json(err);
}
});