bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/Python/Databases in Python
Python•Databases in Python

Python MongoDB Query

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind Python MongoDB Query?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ pymongo
3Order

Put the learning moves in the order that makes the concept easiest to apply.

The first argument of the find() method is a query object, and is used to limit the search.
When finding documents in a collection, you can filter the result by using a query object.
Filter With Regular Expressions

Filter the Result

When finding documents in a collection, you can filter the result by using a query object.

The first argument of the find() method is a query object, and is used to limit the search.

Example

Find document(s) with the address "Park Lane 38":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Park Lane 38" }
mydoc = mycol.find(myquery)
for x in mydoc:
 print(x)

Advanced Query

To make advanced queries you can use modifiers as values in the query object.

E.g. to find the documents where the "address" field starts with the letter "S" or higher (alphabetically), use the greater than modifier: {"$gt": "S"} :

Example

Find documents where the address starts with the letter "S" or higher:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$gt": "S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
 print(x)

Filter With Regular Expressions

You can also use regular expressions as a modifier.

Regular expressions can only be used to query strings .

To find only the documents where the "address" field starts with the letter "S", use the regular expression {"$regex": "^S"} :

Example

Find documents where the address starts with the letter "S":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
 print(x)

Previous

Python MySQL Where

Next

Python MySQL Order By