sql >> Database >  >> NoSQL >> MongoDB

Hoe in Mongoose een array te valideren en tegelijkertijd de elementen ervan?

U kunt een aangepaste validator gebruiken om dit te doen. Controleer eenvoudig of de array zelf niet leeg is:

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);

});

Wat een foutmelding geeft als er geen inhoud in de array is, en anders de validatie voor de regels die voor de velden in de array zijn opgegeven, afsnijdt.




  1. mongodb sorteer en regex query op een efficiënte manier

  2. MongoDb Distinct met query C#-stuurprogramma

  3. Een BSON-array toevoegen aan een MongoDB 3.2-document en de waarden terug extraheren ( MongoCXX 3.2 ) ( C++ 11)

  4. Een NoSQL-forumtoepassing modelleren met C# / ASP.net MVC