Perform simple validation in MongoDB?

MongoDBDatabaseBig Data Analytics

For validation in MongoDB, use validator. Following is the query to create validation on collection in MongoDB −

> db.createCollection( "demo437" , {
...    validator: { $jsonSchema: {
...       bsonType: "object",
...       required: [ "FirstName", "LastName"],
...       properties: {
...          FirstName: {
...             bsonType: "string",
...             description: "This is required" },
...             LastName: {
...                bsonType: "string",
...                description: "This is required" }
...
... }
... }}})
{ "ok" : 1 }

Let us create a collection with documents −

> db.demo437.insertOne({"FirstName":"John","LastName":1234});
2020-03-22T17:49:55.590+0530 E QUERY [js] WriteError: Document failed validation :
WriteError({
   "index" : 0,
   "code" : 121,
   "errmsg" : "Document failed validation",
   "op" : {
   "_id" : ObjectId("5e7757ebbbc41e36cc3cae9a"),
   "FirstName" : "John",
   "LastName" : 1234
   }
})
WriteError@src/mongo/shell/bulk_api.js:461:48
Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49
Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13
Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21
DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9
@(shell):1:1
>
> db.demo437.insertOne({"FirstName":"John","LastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7757f7bbc41e36cc3cae9b")
}
> db.demo437.insertOne({"FirstName":9887,"LastName":"Miller"});
2020-03-22T17:50:29.631+0530 E QUERY [js] WriteError: Document failed validation :
WriteError({
   "index" : 0,
   "code" : 121,
   "errmsg" : "Document failed validation",
   "op" : {
      "_id" : ObjectId("5e77580dbbc41e36cc3cae9c"),
      "FirstName" : 9887,
      "LastName" : "Miller"
   }
})
WriteError@src/mongo/shell/bulk_api.js:461:48
Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49
Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13
Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21
DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9
@(shell):1:1
>
>
> db.demo437.insertOne({"FirstName":"David","LastName":"Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e775816bbc41e36cc3cae9d")
}

Display all documents from a collection with the help of find() method −

> db.demo437.find();

This will produce the following output −

{ "_id" : ObjectId("5e7757f7bbc41e36cc3cae9b"), "FirstName" : "John", "LastName" : "Smith" }
{ "_id" : ObjectId("5e775816bbc41e36cc3cae9d"), "FirstName" : "David", "LastName" : "Miller" }
raja
Published on 06-Apr-2020 13:02:01
Advertisements