我有一个模型文件,它将所有我的猫猫模型聚集在一起。我想用不定数量的字段初始化一个模型。目前我正在定义比我想要的更多的字段:实时定义猫鼬模式
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