基于mongoose模式定义对象数组

时间:2016-05-07 14:24:59

标签: mongodb mongoose mongoose-schema

我在mongoose中有以下架构,我想在另一个架构中作为嵌套数组:

var NestedSchema = new Schema({
  name: { type: String, required: true }
});

需要的其他一些架构和嵌套架构的数组。

var EventSchema = new Schema({
  name: { type: String, required: true, unique: true },
  fields: [NestedSchema]
});

哪种方法效果很好。但是现在我想对该数组运行一些验证。

var validators = // some validators
var EventSchema = new Schema({
  name: { type: String, required: true, unique: true },
  fields: [{ type: 'NestedSchema', required: true, validate: validators }]
});

当然键入:' NestedSchema'不起作用,这是在黑暗中拍摄。 mongoose是否允许您拥有基于模式的对象数组

1 个答案:

答案 0 :(得分:0)

使用:    MongoDB shell版本:3.2.12,    猫鼬:4.4.7

我设法有一个基于架构的数组:

var NestedSchema = new Schema({
  name: { type: String, required: true }
});

var EventSchema = new Schema({
  name: { type: String, required: true, unique: true },
  fields: [{ type: [NestedSchema], required: true }]
});

没有尝试验证,但我相信它可以正常工作。 :)