How to query a key having space in its name with MongoDB?


To query a key having space in its name, you can use dot(.) notation.

Step 1: First, you need to create a set in which a key has space in its name. Following is the query:

> myValues["Details"] = {}
{ }
> myValues["Details"]["Student Name"]="John";
John
> myValues["Details"]["StudentAge"]=26;
26

Step 2: Now you need to create a collection and store the above set as a document. Following is the query

> db.keyHavingSpaceDemo.insertOne( myValues);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca27e3b6304881c5ce84ba4")
}

Following is the query to display all documents from a collection with the help of find() method

> db.keyHavingSpaceDemo.find().pretty();

This will produce the following output

{
   "_id" : ObjectId("5ca27e3b6304881c5ce84ba4"),
   "Details" : {
      "Student Name" : "John",
      "StudentAge" : 26
   }
}

Here is how you can query a key having space in its name i.e. “Student Name”. Following is the query

> db.keyHavingSpaceDemo.find({ "Details.Student Name": "John"} ).pretty();

This will produce the following output

{
   "_id" : ObjectId("5ca27e3b6304881c5ce84ba4"),
   "Details" : {
      "Student Name" : "John",
      "StudentAge" : 26
   }
}

Updated on: 30-Jul-2019

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements