Comment valider dans un tableau de Mongoose et en même temps ses éléments

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.