Python MongoDB запрос
- Предыдущая страница MongoDB Найти
- Следующая страница MongoDB Сортировка
Фильтрация результатов
При поиске документов в集合е вы можете использовать объект query для фильтрации результатов.
find()
Первый параметр метода - объект query, который используется для ограничения поиска.
Пример
Искать документ с адресом "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)
Сложные запросы
Для выполнения сложных запросов можно использовать модификаторы в качестве значений в объекте запроса.
Например, чтобы найти документы, адрес которых начинается с буквы "S" или выше (по алфавиту), используйте модификатор больше, чем:{"$gt": "S"}
:
Пример
Найти документы, адрес которых начинается с буквы "S" или выше:
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)
Использование регулярного выражения для фильтрации
Вы также можете использовать регулярное выражение в качестве модификатора.
Регулярные выражения могут использоваться только для запросов строк.
Если нужно найти документы, адрес которых начинается с буквы "S", используйте регулярное выражение {"$regex": "^S"}
:
Пример
Найти документы, адрес которых начинается с буквы "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)
- Предыдущая страница MongoDB Найти
- Следующая страница MongoDB Сортировка