我有一个名为plotCasts的CosmosDB集合,其中包含如下所示的对象:
window
我有以下Mongoose架构:
{
...
"owner" : "winery",
"grower" : "Bill Jones",
...
}
但是,当我使用下面的查询查询数据库时,我得到一个结果的空数组。知道为什么吗?
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const plotCastSchema = new Schema({
owner: String,
grower: String,
...
});
const ModelClass = mongoose.model('plotCast', plotCastSchema);
module.exports = ModelClass;
答案 0 :(得分:2)
好的,你为你的模型plotCast命名,但你的收藏是plotCasts。
您可以这样强制收集名称:
const plotCastSchema = new Schema({
owner: String,
grower: String,
...
}, { collection: 'plotCasts' });
或者,只需使用集合名称作为第一个参数在mongoose中定义模型,这样:
const ModelClass = mongoose.model('plotCasts', plotCastSchema);
如果有,请告诉我:))
答案 1 :(得分:1)
问题是命名db总是以复数形式保存模式,所以它应该如下所示
PlotCasts.find({ owner: 'winery' }).lean().exec(function(err, results) {
if (err) {
res.send(err);
} else if (!results) {
res.send(null);
} else {
res.send(results);
}
});