Found 1349 Articles for MongoDB

How to select specific columns in MongoDB query?

AmitDiwan
Updated on 03-Apr-2020 13:28:16

7K+ Views

To select specific columns, you can ignore the rest of them i.e. to hide those columns, set them to 0. Let us first create a collection with documents −> db.demo415.insertOne({"ClientName":"Robert", "ClientCountryName":"US"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e72329db912067e57771adc") } > db.demo415.insertOne({"ClientName":"David", "ClientCountryName":"UK"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e7232acb912067e57771add") } > db.demo415.insertOne({"ClientName":"Bob", "ClientCountryName":"AUS"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e7232b4b912067e57771ade") }Display all documents from a collection with the help of find() method −> db.demo415.find();This will produce the following output −{ "_id" : ObjectId("5e72329db912067e57771adc"), "ClientName" : "Robert", "ClientCountryName" : "US" } { "_id" : ObjectId("5e7232acb912067e57771add"), ... Read More

Find by _id on an array of objects in MongoDB database?

AmitDiwan
Updated on 03-Apr-2020 13:26:08

696 Views

To find by _id on an array of objects, use aggregation and avoid using find(). Let us first create a collection with documents −> db.demo414.insertOne( ...    { ...       "_id": "110", ...       "details":[ ...          { ...             "StudentName":"John", ...             "StudentMarks":56 ...          }, ...          { ...             "StudentName":"Robert", ...             "StudentMarks":98 ...          } ...       ] ...    } ... ); { "acknowledged" : true, "insertedId" : "110" }Display all documents from a collection with the help of find() method −> db.demo414.find();This will produce the following output −{ "_id" : "110", "details" : [ { "StudentName" : "John", "StudentMarks" : 56 }, { "StudentName" : "Robert", "StudentMarks" : 98 } ] }Following is the query to find by _id on an array of objects −> db.demo414.aggregate([{$unwind: "$details"}, {$match:{"details.StudentMarks" :56}}] )This will produce the following output −{ "_id" : "110", "details" : { "StudentName" : "John", "StudentMarks" : 56 } }

Is it possible to exclude nested fields in MongoDB with a wildcard?

AmitDiwan
Updated on 03-Apr-2020 13:24:14

748 Views

Achieve this with aggregation pipeline. Let us first create a collection with documents −> db.demo413.insertOne( ...    { ...       "_id": "101", ...       "details": { ...          "Info1": { ...             Name:"Chris", ...             Age:21 ...          }, ...          "Info2": { ...             Name:"David", ...             Age:23 ...          } ...       } ...    } ... ); { "acknowledged" : true, "insertedId" : "101" }Display all documents from a collection with the help of find() method −> db.demo413.find();This will produce the following output −{ "_id" : "101", "details" : { "Info1" : { "Name" : "Chris", "Age" : 21 }, "Info2" : { "Name" : "David", "Age" : 23 } } }Following is the query to exclude nested fields −> db.demo413.aggregate([ ...    { $project: { "details" : { $objectToArray: "$details" } } }, ...    { $project: { "details.v.Age" : 0} }, ...    { $project: { "details" : { $arrayToObject: "$details"} } } ... ]);This will produce the following output −{ "_id" : "101", "details" : { "Info1" : { "Name" : "Chris" }, "Info2" : { "Name" : "David" } } }

Update an array of strings nested within an array of objects in MongoDB

AmitDiwan
Updated on 03-Apr-2020 13:22:52

204 Views

Let us create a collection with documents −> db.demo411.aggregate( ...    [ ...       {$project : { ...          _id : 0, ...          Information : {$map : {input : "$Information", as : "out", in : ["$$out.Name1", "$$out.Name2"]}} ...          } ...       } ...    ] ... ) { "Information" : [ [ "Chris", "David" ], [ "John", "John" ] ] } > db.demo412.insertOne( ...    { ...       "Information1" : [ ...          { ...           ... Read More

How to get only values in arrays with MongoDB aggregate?

AmitDiwan
Updated on 03-Apr-2020 13:20:04

810 Views

Let us create a collection with documents −> db.demo411.insertOne( ...    { ...       "Information" : [ ...          { ...             "Name1" : "Chris", ...             "Name2" : "David" ...          }, ...          { ...             "Name1" : "John", ...             "Name2" : "John" ...          } ...       ] ...    } ... ); {    "acknowledged" : true,    "insertedId" ... Read More

How do I remove elements not matching conditions in MongoDB?

AmitDiwan
Updated on 03-Apr-2020 13:18:01

334 Views

To remove elements, use $pull and for such conditions, use $ne. The $ne in MongoDB is used to select the documents where the value of the field is not equal to the specified value.Let us create a collection with documents −> db.demo410.insertOne( ...    { ...       details: [{isMarried:false}, {isMarried:true}, {isMarried:false}, {isMarried:"Chris"}] ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70efc515dc524f70227681") }Display all documents from a collection with the help of find() method −> db.demo410.find();This will produce the following output −{ "_id" : ObjectId("5e70efc515dc524f70227681"), "details" : [ { "isMarried" : false }, { ... Read More

How to find MongoDB documents with a specific string?

AmitDiwan
Updated on 03-Apr-2020 13:15:44

148 Views

To find documents with a specific string, use find() and in that search for a string with regex. Let us create a collection with documents −> db.demo409.insertOne({"Name":"John Doe"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e4e515dc524f7022767c") } > db.demo409.insertOne({"Name":"Chris Brown"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e4ec15dc524f7022767d") } > db.demo409.insertOne({"Name":"Robert Doe"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e4f415dc524f7022767e") } > db.demo409.insertOne({"Name":"David Brown"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e4fe15dc524f7022767f") }Display all documents from a collection with the help of find() method −> db.demo409.find();This will produce the following output −{ "_id" : ObjectId("5e70e4e515dc524f7022767c"), "Name" ... Read More

Understanding MongoDB Query Plan

AmitDiwan
Updated on 03-Apr-2020 13:13:53

445 Views

To get a query plan in MongoDB, use explain(). The $explain operator gives information on the query plan.Let us create a collection with documents −> db.demo408.insertOne({"Value":50}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e3a115dc524f70227678") } > db.demo408.insertOne({"Value":20}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e3a715dc524f70227679") } > db.demo408.insertOne({"Value":45}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e3ac15dc524f7022767a") } > db.demo408.insertOne({"Value":35}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e70e3af15dc524f7022767b") } > db.demo408.createIndex({Value:1}); {    "createdCollectionAutomatically" : false,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 }Display all documents from a collection with the help ... Read More

How to create MongoDB user on existing database with correct role?

AmitDiwan
Updated on 03-Apr-2020 13:01:56

200 Views

To create a new user in MongoDB, use createUser(). Following is the query −> db.createUser( ...    { ...       user: "John", ...       pwd: "123456", ...       roles: [ { role: "readWrite", db: "test" } ], ...       mechanisms: [ "SCRAM-SHA-256" ] ...    } ... )This will produce the following output −Successfully added user: {    "user" : "John",    "roles" : [       {          "role" : "readWrite",          "db" : "test"       }    ],    "mechanisms" : [       "SCRAM-SHA-256"    ] }Following is the query to show all users −> db.getUsers();This will produce the following output −[    {       "_id" : "test.John",       "user" : "John",       "db" : "test",       "roles" : [          {             "role" : "readWrite",             "db" : "test"          }       ],       "mechanisms" : [          "SCRAM-SHA-256"       ]    } ]

How to use arrays as filters by querying subdocuments in MongoDB?

AmitDiwan
Updated on 03-Apr-2020 13:08:58

97 Views

For this, use $setIsSubset in MongoDB. Let us create a collection with documents −> db.demo407.insertOne( ...    { ...       Name:"Chris", ...       "details" : [ ...          { ...             id:100 ...          }, ...          { ...             id:110 ...          }, ...          { ...             id:130 ...          } ...       ] ...    } ... ); ... Read More

Advertisements