我正在使用猫鼬,我正在尝试这样做:
user.model.js
var mongoose = require('../../db/mongodb.connector'),
Schema = mongoose.Schema;
require('./offer.model');
var Offer = mongoose.model('Offer');
var userSchema = new Schema({
name: { type: String },
myOffers: [{type: Schema.Types.ObjectId,ref: 'Offer'}],
});
module.exports = mongoose.model('User', userSchema);
offer.model.js
var mongoose = require('../../db/mongodb.connector'),
Schema = mongoose.Schema;
require('./user.model');
var User = mongoose.model('User');
var commentSchema = new Schema({
user: {type: Schema.Types.ObjectId,ref: 'User'},
comment: {type: String},
likes: {type: Number}
});
var offerSchema = new Schema({
name: {type: String},
comments: [commentSchema],
likes: {type:Number}
});
module.exports = mongoose.model('Offer', offerSchema);
我的问题是当我执行它返回的服务器时:
D:\WebStorm\Alertame-Backend\node_modules\mongoose\lib\index.js:362
throw new mongoose.Error.MissingSchemaError(name);
^
MissingSchemaError: Schema hasn't been registered for model "User".
Use mongoose.model(name, schema)
at Mongoose.model (D:\WebStorm\myproject\node_modules\mongoose\lib\index.js:362:13)
at Object.<anonymous> (D:\WebStorm\myproject\db\models\offer.model.js:9:21)
.......
如果我删除了offer.model中的inports,则服务器正常启动
require('./user.model');
var User = mongoose.model('User');
编辑解释: 优惠是一个单独的实体,它将被分配或不分配给现有用户(用户具有分配的优惠引用数组)。另一方面,优惠提供了一系列由现有用户编写的评论参考。
我做错了什么?
答案 0 :(得分:0)
您正尝试在[{1}}中加入offer.model
,从user.model
加入user.model
。每个文件都试图包含自己。
这就是它给出offer.model
架构错误的原因!