【问题标题】:Define array of objects based on a mongoose schema基于猫鼬模式定义对象数组
【发布时间】:2016-09-02 13:10:52
【问题描述】:

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

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 是否允许您拥有基于模式的对象数组

【问题讨论】:

    标签: mongodb mongoose mongoose-schema


    【解决方案1】:

    使用: MongoDB 外壳版本: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 }]
    });
    

    没有尝试验证,但我相信它会按要求工作。 :)

    【讨论】:

    • TypeError:未定义类型 undefined 在数组 fields
    猜你喜欢
    • 2019-03-21
    • 2019-10-30
    • 2020-06-28
    • 2019-07-16
    • 2021-06-23
    • 2019-08-21
    • 2021-11-04
    • 1970-01-01
    • 2018-01-21
    相关资源
    最近更新 更多