You are currently viewing Python MongoDB – Find (Найти)

Python MongoDB – Find (Найти)

MongoDB — это кроссплатформенная программа для баз данных, ориентированная на документы, и самая популярная программа для баз данных NoSQL. Термин NoSQL означает не реляционный. MongoDB хранит данные в виде пар ключ-значение. Это база данных документов с открытым исходным кодом, которая обеспечивает высокую производительность и масштабируемость наряду с моделированием данных и управлением огромными наборами данных в корпоративном приложении. MongoDB также предоставляет функцию автоматического масштабирования. Он использует документы, подобные JSON, что делает базу данных очень гибкой и масштабируемой.

Поиск данных из коллекции или базы данных

В MongoDB есть 2 функции, которые используются для поиска данных из коллекции или базы данных.

  • find_one()
  • find()

Find_one()

В MongoDB для выбора данных из коллекции мы используем find_one() метод. Он возвращает первую появившуюся информацию в выделении и возвращает ее в качестве вывода. В find_one() метод не требуется никаких параметров, так как он выводит первое вхождение информации из базы данных.

Пример 1: 

Найдите первый документ из коллекции/базы данных студента.

# Python program to demonstrate
# find_one()


import pymongo


mystudent = pymongo.MongoClient('localhost', 27017)

# Name of the database
mydb = mystudent["gfg"]

# Name of the collection
mycol = mydb["names"]

x = mycol.find_one()

print(x)

Выход :

Find()

find() метод используется для выбора данных из базы данных. Он возвращает все вхождения информации, хранящейся в коллекции. Он имеет 2 типа параметров, первый параметр find() метод-это объект запроса. В приведенном ниже примере мы будем использовать пустой объект запроса, который выберет всю информацию из коллекции.

Примечание: Это работает так же, как SELECT* без каких-либо параметров.

Пример:

import pymongo


# establishing connection
# to the database
my_client = pymongo.MongoClient('localhost', 27017)

# Name of the database
mydb = my_client["gfg"]

# Name of the collection
mynew = mydb["names"]

for x in mycol.find():
	print(x)

Выход :

Второй параметр метода find() заключается в том, что вы можете указать поле для включения в результат. Второй параметр, передаваемый в методе find (), относится к типу объекта, описывающему поле. Таким образом, этот параметр является необязательным.

Если этот параметр опущен, то в результате будут отображены все поля из коллекции/базы данных.
Чтобы включить поле в результат, значение переданного параметра должно быть равно 1, если значение равно 0, то оно будет исключено из результата.

Пример: 

Возвращайте только имена и адрес, а не идентификатор:

import pymongo


# establishing connection
# to the database
my_client = pymongo.MongoClient('localhost', 27017)

# Name of the database
mydb = my_client["gfg"]

# Name of the collection
mynew = mydb["names"]


for x in mycol.find({}, {"_id":0, "name": 1, "address": 1 }):
	print(x)

Выход: