db.createCollection("proceedings", {validator:{$jsonSchema:{ bsonType: "object", required:["title","editors","publisher","volume","year", "inproceedings","rating"], additionalProperties:false, properties:{ _id: {}, title:{bsonType: "string",description: "it is required"}, editors:{bsonType: "array",description: "it is required", minItems:1, items: {bsonType: "string"}}, publisher:{bsonType: "string",description: "it required"}, isbn:{bsonType: "string",description: "it is optional"}, volume:{bsonType: "int",description: "it is required"}, year:{bsonType: "int",description: "it is required"}, rating:{bsonType: "string", enum: ["A", "B", "C"], description: "required and restricted to values A, B and C"}, inproceedings:{bsonType: "array", description: "it is an array of inproceedings", minItems:1,items:{bsonType: "object", required: ["title", "authors", "pages", "year", "ee", "url"], additionalProperties: false, properties:{ title:{bsonType:"string",description: "it is required"}, authors:{bsonType:"array", minItems: 1,items:{bsonType:"string"}}, pages:{bsonType:"string"}, year: {bsonType: "int"}, ee: {bsonType: "string"}, url: {bsonType: "string"}}}}}}} })