MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да валидирате в Mongoose масив и същевременно неговите елементи

Можете да използвате персонализиран валидатор да го направя. Просто проверете дали самият масив не е празен:

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

});

Което ще изведе грешка, когато няма съдържание в масива, и в противен случай ще прехвърли проверката за правилата, предоставени за полетата в масива.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Синхронизиране на MongoDB чрез ssh

  2. MongoDB + C# драйвер + заявка масив от елементи, където всеки елемент от масива съдържа поддокумент за запитване

  3. Как да разреша това дизайнерско ограничение в mongo db спрямо производителността?

  4. Празният масив не позволява документът да се появи в заявката

  5. конфигурация максимален стар размер на пространството в Nodejs