MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách xác thực trong Mongoose một mảng và đồng thời các phần tử của nó

Bạn có thể sử dụng trình xác thực tùy chỉnh để làm điều này. Chỉ cần kiểm tra xem bản thân mảng có trống không:

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

});

Điều này sẽ gây ra lỗi khi không có nội dung trong mảng và nếu không thì sẽ loại bỏ xác thực cho các quy tắc được cung cấp cho các trường trong mảng.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để hạn chế người dùng mongo bỏ bộ sưu tập?

  2. Mongo $ addToSet an Array

  3. Chọn bản ghi phù hợp với giá trị concat của hai trường trong mongodb

  4. Ngủ đông với MongoDB

  5. Chỉ mục phạm vi ngày Mongo với bộ lọc