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)