MongoDB Schema Validation
Schema Validation
By default MongoDB has a flexible schema. This means that there is no strict schema validation set up initially.
Schema validation rules can be created in order to ensure that all documents in a collection share a similar structure.
Schema Validation
MongoDB supports JSON Schema validation. The $jsonSchema
operator allows us to define our document structure.
Example
db.createCollection("posts", {
validator: {
$jsonSchema: {
bsonType: "object",
required: [ "title", "body" ],
properties: {
title: {
bsonType: "string",
description: "Title of post - Required."
},
body: {
bsonType: "string",
description: "Body of post - Required."
},
category: {
bsonType: "string",
description: "Category of post - Optional."
},
likes: {
bsonType: "int",
description: "Post like count. Must be an integer - Optional."
},
tags: {
bsonType: ["string"],
description: "Must be an array of strings - Optional."
},
date: {
bsonType: "date",
description: "Must be a date - Optional."
}
}
}
}
})
Try it Yourself »
This will create the posts
collection in the current database and specify the JSON Schema validation requirements for the collection.