Python MongoDB поиска
- Предыдущая страница Вставка MongoDB
- Следующая страница Запрос MongoDB
В MongoDB мы используем методы find и findOne для поиска данных в集合е.
Как SELECT-запрос используется для поиска данных из таблицы базы данных MySQL.
Найти одно
Чтобы выбирать данные из集合а MongoDB, мы можем использовать find_one()
Метод.
find_one()
Метод возвращает первый соответствие в выборе.
Пример
Найти первый документ в集合е "customers":
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
Найти все
Чтобы выбирать данные из таблицы MongoDB, мы также можем использовать find()
Метод.
find()
Метод возвращает все соответствия в выборе.
find()
Первый параметр метода - объект запроса. В этом примере мы используем пустой объект запроса, который выбирает все документы из集合а.
find()
Метод не предоставляет параметров, которые предоставляют результат, аналогичный SELECT * в MySQL.
Пример
Возвращает все документы из集合а "customers" и печатаются каждый документ:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): print(x)
Возвращает только некоторые поля
find()
Второй параметр метода описывает объект, содержащий поля, включенные в результат.
Этот параметр является опционным. Если он опущен, все поля будут включены в результат.
Пример
Возвращает только имя и адрес, а не _ids:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }): print(x)
Не разрешается одновременно указывать значения 0 и 1 в одном и том же объекте (если только одним из полей не является поле _id). Если указано значение 0 для поля, то все другие поля будут иметь значение 1, и наоборот:
Пример
Этот пример исключает "address" из результатов:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "address": 0 }): print(x)
Пример
Если одновременно указаны значения 0 и 1 в одном и том же объекте, возникнет ошибка (если только одним из полей не является поле _id):
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "name": 1, "address": 0 }): print(x)
- Предыдущая страница Вставка MongoDB
- Следующая страница Запрос MongoDB