填充时猫鼬缺少模式错误
mongoose Missing schema error while populating
我正在为我的 MongoDB 数据库构建一个带有 express 的应用程序,使用 mongoose 作为 ORM。
我有 2 个模型位于不同的文件中:用户和帖子。
User.js模特长得像
var mongoose = require('mongoose'),
moment = require('moment'),
Schema = mongoose.Schema,
UserSchema = new Schema({
created_at: {type: Date, default: moment()),
name: String
});
module.exports = mongoose.model('user', UserSchema);
和Posts.js模型
var mongoose = require('mongoose'),
moment = require('moment'),
Schema = mongoose.Schema,
PostSchema = new Schema({
created_at: {type: Date, default: moment()},
user: {type: Schema.Type.ObjectId, ref: 'User'}
});
我在看起来像
的单独文件中的控制器中调用它们
var Post = require('../models/User'),
User = require('../models/Posts');
Post.find().populate('user').exec();
这个群体 returns 给我一个 MissingSchema 错误,上面写着:
MissingSchemaError:模型 'Posts' 的架构尚未注册。
与数据库的连接在主文件中:app.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/database');
谁能告诉我我的代码有什么问题?
因为您的参考是“User
”,我认为您只需要使用正确的 Typpo 声明您的第一个模型
module.exports = mongoose.model('User', UserSchema);
而不是
module.exports = mongoose.model('user', UserSchema);
希望对您有所帮助。
我正在为我的 MongoDB 数据库构建一个带有 express 的应用程序,使用 mongoose 作为 ORM。
我有 2 个模型位于不同的文件中:用户和帖子。
User.js模特长得像
var mongoose = require('mongoose'),
moment = require('moment'),
Schema = mongoose.Schema,
UserSchema = new Schema({
created_at: {type: Date, default: moment()),
name: String
});
module.exports = mongoose.model('user', UserSchema);
和Posts.js模型
var mongoose = require('mongoose'),
moment = require('moment'),
Schema = mongoose.Schema,
PostSchema = new Schema({
created_at: {type: Date, default: moment()},
user: {type: Schema.Type.ObjectId, ref: 'User'}
});
我在看起来像
的单独文件中的控制器中调用它们var Post = require('../models/User'),
User = require('../models/Posts');
Post.find().populate('user').exec();
这个群体 returns 给我一个 MissingSchema 错误,上面写着: MissingSchemaError:模型 'Posts' 的架构尚未注册。
与数据库的连接在主文件中:app.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1/database');
谁能告诉我我的代码有什么问题?
因为您的参考是“User
”,我认为您只需要使用正确的 Typpo 声明您的第一个模型
module.exports = mongoose.model('User', UserSchema);
而不是
module.exports = mongoose.model('user', UserSchema);
希望对您有所帮助。