我有一個模型文件,它將所有我的貓貓模型聚集在一起。我想用不定數量的字段初始化一個模型。目前我正在定義比我想要的更多的字段:實時定義貓鼬模式
TallySchema = new mongoose.Schema
0: Number
1: Number
...
20: Number
顯然這並不理想。我看到Mongoose會讓你在Schema定義之外指定選項,但看不到如何添加新的字段(或者我猜,在Mongoose中)。
我有一個模型文件,它將所有我的貓貓模型聚集在一起。我想用不定數量的字段初始化一個模型。目前我正在定義比我想要的更多的字段:實時定義貓鼬模式
TallySchema = new mongoose.Schema
0: Number
1: Number
...
20: Number
顯然這並不理想。我看到Mongoose會讓你在Schema定義之外指定選項,但看不到如何添加新的字段(或者我猜,在Mongoose中)。
基礎上mongoose plugin documentation它看起來像你可以這樣做:
schema.add({ field: Number })
您可以使用「混合」型封裝你的價值觀。儘管如此,它們不可能處於頂級水平,但在其他方面效果很好。
new mongoose.Schema({
average: Number,
countPerRating: mongoose.Schema.Types.Mixed,
});
這是mapreduce模式的摘錄。我使用混合類型來存儲某人給出某個評分的次數,所以我們可以說諸如「10 1星評級,45 4星評級」等的內容。
混合類型對此很有幫助。
我發現這個在Mongoose documentation page:
var ToySchema = new Schema;
ToySchema.add({ name: 'string', color: 'string', price: 'number' });
嗨!有一個「黑客」方式來實現這一點?我的意思是,Mongoose沒有特殊的日期類型或類似的東西可以用來聲明條件子模式?提前致謝。 – diosney