J'ai ce schéma où j'ai validé les éléments du tableau array, mais je ne sais pas comment valider le tableau lui-même.
var DictionarySchema = new Schema({ book: [ { 1: { type: String, required: true }, 2: String, 3: String, c: String, p: String, r: String } ] });
Par exemple, j'aimerais mettre le tableau des livres selon vos besoins. De l'aide?
Vous pouvez utiliser un validateur personnalisé pour le faire. Il suffit de vérifier que le tableau lui-même n'est pas vide:
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); });
Ce qui provoquera une erreur lorsqu'il n'y a pas de contenu dans le tableau, et sinon la validation des règles fournies pour les champs du tableau.