sql >> Databáze >  >> NoSQL >> MongoDB

Jak ověřit v Mongoose pole a zároveň jeho prvky

Můžete použít vlastní validátor udělat toto. Jednoduše zkontrolujte, že samotné pole není prázdné:

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

});

Což vyvolá chybu, když v poli není žádný obsah, a jinak předá ověření pro pravidla dodaná pro pole v poli.




  1. Dynamické řazení s Redis

  2. Získejte n-tý prvek pole v MongoDB

  3. Server MongoDB není přístupný v místní síti navzdory vazbě IP

  4. MEAN Stack:Jak aktualizovat výsledek funkce do databáze?