需要什么:在Mongoose Schema中是真的吗?以下是一个例子

时间:2016-01-22 16:47:59

标签: angularjs node.js mongodb mongoose

 var AnimalSchema = new mongoose.Schema({
  name: {type: String, require: true},
  age: {type: Number},
  bread: {type: String}
});

然后我在index.html中创建了一个像这样的表单,

<form ng-submit="createAnimal()">
        <input ng-model="newAnimal.name" type="text" placeholder="...name">
        <input ng-model="newAnimal.bread" type="text" placeholder="...bread">
        <input ng-model="newAnimal.age" type="number" placeholder="...age">
        <input type="submit">
      </form>

即使我将名称字段留空,表单的其余部分也会添加到mongo文档中。我认为如果在架构中将required设置为true,则会向客户端抛出一个错误,即无法添加名称字段。

我查看了mongoose文档,似乎没有任何解释。网上也找不到任何东西。

2 个答案:

答案 0 :(得分:0)

据我所知,它应该是

required: true

而不是

require: true

这可能是为什么省略参数并将数据保存到集合

的原因

答案 1 :(得分:0)

@maurycy提到它应该是

required : true

这是Mongoose所需的验证器:

http://mongoosejs.com/docs/api.html#schematype_SchemaType-required