You are currently viewing Python MongoDB – Query (Запрос)

Python MongoDB – Query (Запрос)

MongoDB является кроссплатформенной документально-ориентированной и нереляционной (т. е. NoSQL) программой для баз данных. Это база данных документов с открытым исходным кодом, в которой данные хранятся в виде пар ключ-значение.

Что такое запрос MongoDB?

Запрос MongoDB используется для указания фильтра выбора с помощью операторов запроса при извлечении данных из коллекции с помощью db.find() метод. Мы можем легко фильтровать документы, используя объект запроса. Чтобы применить фильтр к коллекции, мы можем передать этому методу запрос с указанием условия для необходимых документов в качестве параметра, который является необязательным параметром для db.find() метод.

Селекторы запросов:

Ниже приведен список некоторых операторов, используемых в запросах в MongoDB.

ОперацияСинтаксисОписание
Равенство{“key” : “value”}Соответствует значениям, равным указанному значению.
меньше, чем{“key” :{$lt:”value”}}Соответствует значениям, которые меньше указанного значения.
Больше, Чем{“key” :{$gt:”value”}}Соответствует значениям, которые превышают указанное значение.
Меньше, чем равно{“key” :{$lte:”value”}}Соответствует значениям, которые меньше или равны указанному значению.
Больше, чем равно{“key” :{$lte:”value”}}Соответствует значениям, которые больше или равны указанному значению.
Не равны{“key”:{$ne: “value”}}Соответствует всем значениям, которые не равны указанному значению.
Логично И{ “$and”:[{exp1}, {exp2}, …, {expN}] }Соединяет предложения запроса с логическим И возвращает все документы, соответствующие условиям обоих предложений.
Логическое ИЛИ{ “$or”:[{exp1}, {<exp2}, …, {expN}] }Соединяет предложения запроса с логическим ИЛИ возвращает все документы, соответствующие условиям любого из предложений.
Логично НЕ{ “$not”:[{exp1}, {exp2}, …, {expN}] }Инвертирует эффект выражения запроса и возвращает документы, которые не соответствуют выражению запроса.

База данных или коллекция, с которой мы работаем:

Пример 1:

# importing Mongoclient from pymongo
from pymongo import MongoClient


# Making Connection
myclient = MongoClient("mongodb://localhost:27017/")

# database
db = myclient["mydatabase"]

# Created or Switched to collection
# names: GeeksForGeeks
Collection = db["GeeksForGeeks"]

# Filtering the Quantities greater
# than 40 using query.
cursor = Collection.find({"Quantity":{"$gt":40}})

# Printing the filterd data.
print("The data having Quantity greater than 40 is:")
for record in cursor:
	print(record)
	
# Filtering the Quantities less
# than 40 using query.
cursor = Collection.find({"Quantity":{"$lt":40}})

# Printing the filterd data.
print("\nThe data having Quantity less than 40 is:")
for record in cursor:
	print(record)

Выход:

Пример 2:

# importing Mongoclient from pymongo
from pymongo import MongoClient


# Making Connection
myclient = MongoClient("mongodb://localhost:27017/")

# database
db = myclient["mydatabase"]

# Created or Switched to collection
# names: GeeksForGeeks
Collection = db["GeeksForGeeks"]

# Filtering the (Quantities greater than
# 40 AND greater than 40) using AND query.
cursor = Collection.find({"$and":[{"Quantity":{"$gt":40}},
								{"Quantity":{"$gt":50}}]})

# Printing the filterd data.
print("Quantities greater than 40 AND\
Quantities greater than 40 :")
for record in cursor:
	print(record)

# Filtering the (Quantities greater than
# 40 OR greater than 40) using OR query.
cursor = Collection.find({"$or":[{"Quantity":{"$gt":40}},
								{"Quantity":{"$gt":50}}]})

# Printing the filterd data.
print()
print("Quantities greater than 40 OR\
Quantities greater than 40 :")
for record in cursor:
	print(record)

Выход: