आप एक कस्टम सत्यापनकर्ता का उपयोग कर सकते हैं यह करने के लिए। बस जांचें कि सरणी स्वयं खाली नहीं है:
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);
});
जब सरणी में कोई सामग्री नहीं होती है तो यह एक त्रुटि फेंक देगा, और अन्यथा सरणी में फ़ील्ड के लिए दिए गए नियमों के सत्यापन को पास कर देगा।