gpt4 book ai didi

javascript - 如何在 Mongoose 中验证数组并同时验证其元素

转载 作者:可可西里 更新时间:2023-11-01 09:09:52 26 4
gpt4 key购买 nike

我有这个架构,我在其中验证数组 book 的元素,但我不知道如何验证数组本身。

 var DictionarySchema = new Schema({   
book: [
{
1: {
type: String,
required: true
},
2: String,
3: String,
c: String,
p: String,
r: String
}
]
});

例如,我想按要求放置书籍数组。有帮助吗?

最佳答案

您可以使用 custom validator去做这个。只需检查数组本身是否为空:

var mongoose = require('mongoose'),
Schema = mongoose.Schema;

mongoose.connect('mongodb://localhost/test');

var bookSchema = new Schema({

1: { type: String, required: true },
2: String,
3: String,
c: String,
p: String,
r: String
});

var dictSchema = new Schema({
books: [bookSchema]
});

dictSchema.path('books').validate(function(value) {
return value.length;
},"'books' cannot be an empty array");

var Dictionary = mongoose.model( 'Dictionary', dictSchema );


var dict = new Dictionary({ "books": [] });


dict.save(function(err,doc) {
if (err) throw err;

console.log(doc);

});

当数组中没有内容时会抛出错误,否则会通过为数组中的字段提供的规则的验证。

关于javascript - 如何在 Mongoose 中验证数组并同时验证其元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25965535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com