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)