db.createCollection("department",
{"validator":{$jsonSchema:{"bsonType":"object"} }
} );
{"name":"School of Astronomy",
"address":{"street":"Franz Josef Str",
"bldg":4},
"courses":[{"code":"SOA101",
"title":"Astronomy for Kids",
"credits":3} ] }
db.createCollection("anyDocument",
{"validator":{$jsonSchema:{"bsonType":"object"} }
} );
db.tiny.insert({"name":"Harry Potter"});
db.createCollection( "tiny",
{"validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"name":{"bsonType":"string"} },
"required":["name"],
"additionalProperties":false
} } } );
db.tiny.insert({"_id":"HP666","name":"Harry Potter"});
db.createCollection( "tiny",
{"validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"_id":{"bsonType":"string"},
"name":{"bsonType":"string"} },
"required":["_id","name"],
"additionalProperties":false
} } } );
db.empty.insert({"_id":"HP666"});
db.empty.insert({"_id":"HP667","name":"Harry Potter"});
db.empty.insert({"_id":"HP668","name":"Harry Potter","occupation":"wizard"});
db.createCollection( "empty",
{"validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"_id":{"bsonType":"string"} },
"required":["_id"],
"additionalProperties":true
} } } );
db.flat.insert({"_id":"HP666","name":"Harry Potter","age":NumberInt("100")});
db.createCollection( "flat",
{"validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"name":{"bsonType":"string",
"maxLength":100},
"age":{"bsonType":"int",
"maximum":200,
"exclusiveMaximum":true} },
"required":["name","age","_id"],
"additionalProperties":false
} } } );
db.department.insert({"_id":"Finance","budget":123});
db.department.insert({"_id":"Sales","budget":123,"fee":456});
db.createCollection("department",
{ "validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"_id":{"bsonType":"string"},
"budget":{"bsonType":"double",
"description":"Budget of department"},
"fee":{"bsonType":"double",
"description":"Fee paid"}
},
"required":["_id","budget"],
"additionalProperties":false
} } } );
db.nested.insert({"_id":"HP667",
"name":"Harry Potter",
"address":{"city":"Dapto",
"code":NumberInt("2530") }
});
db.createCollection( "nested",
{"validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"_id":{"bsonType":"string"},
"name":{"bsonType":"string",
"maxLength":100},
"address":{"bsonType":"object",
"properties":{"city":{"bsonType":"string",
"minLength":5,"maxLength":30},
"code":{"bsonType":"int",
"maximum":9999,
"exclusiveMaximum":false} },
"required":["city","code"],
"additionalProperties":false } },
"required":["name","address","_id"],
"additionalProperties":false } } } );
db.nested.insert({"_id":"HP667",
"name":"Harry Potter",
"cars":["Ferrari","Mercedes","Hyundai"]
});
db.createCollection( "nested",
{"validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"_id":{"bsonType":"string"},
"name":{"bsonType":"string",
"maxLength":100},
"cars":{"bsonType":"array",
"items":{"bsonType":"string"},
"uniqueItems":true }
},
"required":["name","cars","_id"],
"additionalProperties":false
} } } );
db.month.insert( {"_id":"Winter",
"months":["June","July","August"]} );
db.createCollection( "month",
{"validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"_id":{"bsonType":"string"},
"months":{"bsonType":"array",
"description":"Winter",
"items":{"bsonType":"string"} } },
"required":["_id","months"],
"additionalProperties":false
} } } );
db.month.insert( {"_id":"addressBook",
"address":[{"city":"Sydney",
"street":"25 Victoria St."},
{"city":"Wollongong",
"street":"125 Northfields Ave."}] } );
db.createCollection("department",
{"validator":{$jsonSchema:
{"bsonType":"object",
"properties":{"_id":{"bsonType":"string"},
"address":{"bsonType":"array",
"description":"Cities and streets",
"items":{"bsonType":"object",
"properties":{"city":{"bsonType":"string"},
"street":{"bsonType":"string"} },
"required":["city","street"],
"additionalProperties":false
}
}
},
"required":["_id","address"],
"additionalProperties":false
} } } );
db.school.insert(
{ "name":"School of Astronomy",
"code":"SOA",
"total staff number":25,
"budget":10000,
"address":{"street":"Franz Josef Str",
"bldg":4,
"city":"Vienna",
"country":"Austria"},
"courses":[ {"code":"SOA101",
"title":"Astronomy for Kids",
"credits":3},
{"code":"SOA201",
"title":"Black Holes",
"credits":6},
{"code":"SOA301",
"title":"Dark Matter",
"credits":12}
]
} );
db.createCollection("school", { "validator": { "$jsonSchema": {
"bsonType":"object",
"required":["name","code","total staff number","budget","address","courses"],
"properties":{ "name":{ "bsonType":"string",
"description":"Name of a department" },
"code":{ "bsonType":"string",
"description":"Code of a department" },
"total staff number":{ "bsonType":"double",
"description" :"Total staff number" },
"budget":{"bsonType":"double",
"description":"Budget of a department" },
"address":{ "bsonType":"object",
"required":["street","bldg","city","country"],
"properties":{ "street":{"bsonType":"string",
"description": "Street name" },
"bldg":{"bsonType":"double",
"description":"Building number" },
"city":{"bsonType":"string",
"description":"City name" },
"country":{"bsonType":"string",
"description":"Country name" } } },
"courses":{ "bsonType":"array",
"items":{ "bsonType":"object",
"required":["code","title","credits"],
"properties":{"code":{"bsonType":"string",
"description":"Subject code"},
"title":{"bsonType":"string",
"description":"Subject title"},
"credits":{"bsonType":"double",
"description":"Total credit points"}}}}}}}});