Build Index in the Background with MongoDB

AmitDiwan
Updated on 27-Mar-2020 11:32:25

3K+ Views

To create index in the background, use createIndex() method and set “background: true” as in the below syntax −db.yourCollectionName.createIndex({"yourFieldName1":1,"yourFieldName2":1},{background: true} );Let us implement the above syntax in order to create index and set background −> db.indexCreationDemo.createIndex({"StudentName":1,"StudentAge":1},{background: true} ); {    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 }Let us display the indexes −> db.indexCreationDemo.getIndexes();This will produce the following output −[    {       "v" : 2,       "key" : {          "_id" : 1       },       "name" : "_id_",       "ns" : "web.indexCreationDemo"    },    {       "v" : 2,       "key" : {          "StudentName" : 1,          "StudentAge" : 1       },       "name" : "StudentName_1_StudentAge_1",       "ns" : "web.indexCreationDemo",       "background" : true    } ]

Fix MongoDB Robomongo DB Data Find Collation Is Not a Function

AmitDiwan
Updated on 27-Mar-2020 11:29:35

110 Views

The collation introduced in version MongoDB 3.4. Maybe, you implemented collation in a previous version.For our example, we are using MongoDB version 4.0.5. Following is the query to check the current version on system −> db.version()This will produce the following output −4.0.5Let us first create a collection with documents −> db.collationExample.createIndex({Value: 1}, {collation: {locale: "en", strength: 1}}); {    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 } > db.collationExample.insertOne({'Value':'x'}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e038a3cf5e889d7a51994f5") } > db.collationExample.insertOne({'Value':'X'}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e038a48f5e889d7a51994f6") } > ... Read More

Calculate Average Value Per Document with Sort in MongoDB

AmitDiwan
Updated on 27-Mar-2020 11:26:56

201 Views

To calculate average, use aggregate along with $avg. Let us first create a collection with documents −> db.calculateAverage.insertOne({'Value':[10, 20, 80]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e0383e3f5e889d7a51994dc") } > db.calculateAverage.insertOne({'Value':[12, 15, 16]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e0383edf5e889d7a51994dd") } > db.calculateAverage.insertOne({'Value':[30, 35, 40]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e0383f5f5e889d7a51994de") }Following is the query to display all documents from a collection with the help of find() method −> db.calculateAverage.find().pretty();This will produce the following output −{    "_id" : ObjectId("5e0383e3f5e889d7a51994dc"),    "Value" : [       10,       20,     ... Read More

Promote Subfields to Top Level in MongoDB Projection

AmitDiwan
Updated on 27-Mar-2020 11:23:46

181 Views

To promote subfields to top level in projection, use $objectToArray and $arrayToObject. Let us first create a collection with documents:> db.promoteSubfieldsDemo.insertOne({'s':10, 'y':{'t':20, 'u':30, }}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e038004190a577c668b55d5") }Following is the query to display all documents from a collection with the help of find() method −> db.promoteSubfieldsDemo.find().pretty();This will produce the following output −{    "_id" : ObjectId("5e038004190a577c668b55d5"),    "s" : 10,    "y" : {       "t" : 20,       "u" : 30    } }Following is the query to promote subfields to top level in projection without listing all keys ... Read More

Delete Specific Record from an Array Nested within Another Array in MongoDB

AmitDiwan
Updated on 27-Mar-2020 11:14:03

690 Views

To delete specific record, use “$pull” and since we are updating the already created collection, use UPDATE().Let us create a collection with documents −> db.demo213.insertOne({ ...   "id": 101, ...   "details1": [ ...      { ...         "Name": "Chris", ...         "details2": [ ...            { ...               "StudentName": "David", ...               "Subject": "MongoDB" ...            }, ...            { ...               ... Read More

Finding a MongoDB Document Through a Word

AmitDiwan
Updated on 27-Mar-2020 11:09:12

171 Views

To find a MongoDB document through a word, use find() and set the word like −word/iLet us create a collection with documents −> db.demo212.insertOne({"details":[{"Name":"John Doe"}]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e3e2c7603d395bdc21346ff") } > db.demo212.insertOne({"details":[{"Name":"Chris Brown"}]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e3e2c8003d395bdc2134700") } > db.demo212.insertOne({"details":[{"Name":"Robert doe"}]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e3e2c8a03d395bdc2134701") }Display all documents from a collection with the help of find() method −> db.demo212.find();This will produce the following output −{ "_id" : ObjectId("5e3e2c7603d395bdc21346ff"), "details" : [ { "Name" : "John Doe" } ] } { "_id" : ObjectId("5e3e2c8003d395bdc2134700"), "details" : ... Read More

Test Equality of Two External Values in MongoDB Criteria Object

AmitDiwan
Updated on 27-Mar-2020 11:07:25

88 Views

To test the values, use $type. Let us create a collection with documents −> db.demo211.insertOne({id:101, "Name":"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e3e298203d395bdc21346fa") } > db.demo211.insertOne({id:102, "Name":null}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e3e2a5403d395bdc21346fb") }Display all documents from a collection with the help of find() method −> db.demo211.find();This will produce the following output −{ "_id" : ObjectId("5e3e298203d395bdc21346fa"), "id" : 101, "Name" : "Chris" } { "_id" : ObjectId("5e3e2a5403d395bdc21346fb"), "id" : 102, "Name" : null }Following is the query to test if two external values are equal in a MongoDB criteria object −> v1=200; 200 > v2=200; ... Read More

Get the Count of a Specific Value in MongoDB

AmitDiwan
Updated on 27-Mar-2020 11:05:25

407 Views

To get the count of a specific value in MongoDB, use aggregate(). Let us create a collection with documents −> db.demo210.insertOne( ...   { ...      details: [ ...         { ...            ClientName: "Robert" ...         }, ...         { ... ...            lientName: "John Doe" ...         }, ...         { ... ...            ClientName: "Robert" ...         }, ...         { ... ... ... Read More

Convert Field Value to DateTime Day of Month in MongoDB Query

AmitDiwan
Updated on 27-Mar-2020 10:58:16

291 Views

To convert filed value to create datetime day of month, use MongoDB aggregate(). Let us create a collection with documents −> db.demo209.insertOne( ...   { ...      "_id" : "101", ...      "details" : [ ...         { ...            "dat" : 1528929908, ...            "Name" : "Chris" ...         }, ...         { ...            "dat" : 1529082069, ...            "Name":"Carol" ...         } ...      ], ... ... Read More

Convert Numeric String to Number in MongoDB Query

AmitDiwan
Updated on 27-Mar-2020 10:51:41

621 Views

To convert numeric string to number, use parseInt() in MongoDB. Let us create a collection with documents −> db.demo208.insertOne( { "value":"50"} ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e3d92d803d395bdc21346f6") } > db.demo208.insertOne( { "value":"2350"} ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e3d92dd03d395bdc21346f7") }Display all documents from a collection with the help of find() method −> db.demo208.find();This will produce the following output −{ "_id" : ObjectId("5e3d92d803d395bdc21346f6"), "value" : "50" } { "_id" : ObjectId("5e3d92dd03d395bdc21346f7"), "value" : "2350" }Following is the query to convert numeric string to number −> db.demo208.find().forEach( function (doc) { ...   doc.value = parseInt(doc.value); ... Read More

Advertisements