THE FIND() METHOD
To query data document from collection MongoDB, We need to
use MongoDB's find() method.
Syntax
The basic syntax of the find() method is as follows
>db.COLLECTION_NAME.find() |
When we used to find() method, then all the documents will
display in a nonstructured way.
THE PRETTY()
METHOD
Here we will use the pretty() method to display the results
in a formatted way.
Syntax:
>db.TestCol.find().pretty()
|
Example
>db.TestCol.find().pretty()
{
"_id":
ObjectId(7df78ad8902c),
"title":
"MongoDB Overview",
"description":
"MongoDB is no sql database",
"by": "MongoBD
query",
"url":
"http://www.codefari.com",
"tags":
["mongodb", "database", "NoSQL"],
"likes":
"100"
}
>
|
Apart from find() method there is findOne() method, that
reruns only one document/records.
RDBMS Where Clause
Equivalents in MongoDB
To query data document based on some condition, we
are using the following operations
Operation
|
Syntax
|
Example
|
RDBMS Equivalent
|
Equality
|
{<key>:<value>}
|
db.TestCol.find({"by":"MongoBD query"}).pretty()
|
where by = 'MongoBD query'
|
Less Than
|
{<key>:{$lt:<value>}}
|
db.TestCol.find({"likes":{$lt:50}}).pretty()
|
where likes <= 50
|
Less Than Equals
|
{<key>:{$lte:<value>}}
|
db.TestCol.find({"likes":{$lte:50}}).pretty()
|
where likes <= 50
|
Greater Than
|
{<key>:{$gt:<value>}}
|
db.TestCol.find({"likes":{$gt:50}}).pretty()
|
where likes > 50
|
Greater Than Equals
|
{<key>:{$gte:<value>}}
|
db.TestCol.find({"likes":{$gte:50}}).pretty()
|
where likes > 50
|
Not Equals
|
{<key>:{$ne:<value>}}
|
db.TestCol.find({"likes":{$ne:50}}).pretty()
|
where likes != 50
|
AND IN Mongo DB
Syntax:
We are using find() method and we want to pass multiple keys
by separating the by ',' then MongoDB collection treats it AND condition. Basic
syntax of AND is shown below:
>db.TestCol.find({key1:value1, key2:value2}).pretty()
|
EXAMPLE
An example is given below, and it will show all the (dilipsingh)
which is written by 'codefari' and whose title is 'MongoDB Overview.'
>db.TestCol.find({"by":"MongoBD query","title":
"MongoDB Overview"}).pretty()
{
"_id":
ObjectId(7df78ad8902c),
"title":
"MongoDB Overview",
"description":
"MongoDB is no sql database",
"by": "MongoBD
query",
"url":
"http://www.codefari.com",
"tags":
["mongodb", "database", "NoSQL"],
"likes":
"100"
}
>
|
An example is given above, which is equivalent where clause will be ' where by='codefari.'
AND title='MongoDB Overview' '. We can pass any numeric of the key, value pairs in
find clause.
OR IN
MongoDB
Syntax:
OR in MongoDB methods, we need to use $
or keyword because to query data documents based on the OR condition. The basic syntax of OR is shown below:
>db.TestCol.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
|
EXAMPLE
An example is given below will show all the (dilipsingh)
written by 'codefari' or whose title is 'MongoDB Overview.'
>db.TestCol.find({$or:[{"by":"MongoBD query"},{"title":
"MongoDB Overview"}]}).pretty()
{
"_id":
ObjectId(7df78ad8902c),
"title":
"MongoDB Overview",
"description":
"MongoDB is no sql database",
"by": "MongoBD
query",
"url":
"http://www.codefari.com",
"tags":
["mongodb", "database", "NoSQL"],
"likes":
"100"
}
>
|
USING AND
OR OR TOGETHER
EXAMPLE
The example given below is showing the documents which have
likes greater than 100 and whose title is either 'MongoDB Overview' or by is
"dilipsingh" Equivalent SQL where clause is 'where likes>10 AND
(by='codefari) OR title = 'MongoDB Overview')'
>db.TestCol.find({"likes": {$gt:10}, $or:
[{"by": "MongoBD query"},{"title":
"MongoDB Overview"}]}).pretty()
{
"_id":
ObjectId(7df78ad8902c),
"title":
"MongoDB Overview",
"description":
"MongoDB is no sql database",
"by": "MongoBD
query",
"url": "http://www.codefari.com",
"tags":
["mongodb", "database", "NoSQL"],
"likes":
"100"
}
|
No comments:
Post a Comment
Please do not enter any spam link in the comment box.