我需要一点帮助,我有一个类别模式,如下所示,
let mongoose = require("mongoose");
let schema = mongoose.Schema;
const _ = require("lodash");
let category = new schema(
{
// Primary Fields
categoryName: { type: String, unique: true },
isArchived: { type: Boolean, default: false },
isDeleted: { type: Boolean, default: false },
categoryImage: { type: String },
categorySlug: { type: String, unique: true },
createdBy:{
type: mongoose.Types.ObjectId,
ref: "Users",
}
},
{
timestamps: true,
}
);
let Category = mongoose.model("Categories", category);
module.exports = {
Category,
};
我正在将此引用用于另一个模式,如下所示
let mongoose = require("mongoose");
let schema = mongoose.Schema;
const { ObjectID } = require("mongodb");
let coupons = new schema({
city: {type:String},
categoryId: {
type: mongoose.Types.ObjectId,
ref: "categories",
},
offerCode: {type:String,unique:true},
couponName: {type:String,unique:true},
validFrom: {type:Date},
validTill: {type:Date},
visibility: { type:Boolean,default:false},
issuedFor: {type:String,enum:['BIKE','AUTO','DELIVERY','CHARGING']},
applicability: {type:String,enum:['1','2','3','4','5','6','7','8','9','10','0']},
bankType: {type:String},
isArchived: { type: Boolean, default: false },
isDeleted: { type: Boolean, default: false },
createdBy: {
type: mongoose.Types.ObjectId,
ref: "Users",
},
},
{
timestamps: true,
});
coupons.index( { "offerCode": 1,"couponName": 1,"validFrom": 1, "validTill":1, "categoryId":1 }, { unique: true } );
let Coupons = mongoose.model("Coupons", coupons);
module.exports = {
Coupons
};
一切看起来都很好,我可以使用其他模式的引用,但每当我试图从我的代码填充它时,类别模式就会抛出MongooseError
.
代码如下所示,
return await Coupons.find(query)
.populate('categoryId')
.skip(parseInt(skip)).select(select).limit(parseInt(limit)).sort({ createdAt: -1 })
有没有人能告诉我是什么原因让我迈向MongooseError [MissingSchemaError]: Schema hasn't been registered for model "categories".
请帮帮我.先谢谢你.