Python MongoDB 查询


检索时使用 find() 方法,你可以使用查询对象过滤文档。你可以将指定所需文档的条件的查询作为参数传递给此方法。

运营商

以下是 MongoDB 查询中使用的运算符列表。

手术 语法 例子
Equality {“核心价值”} db.mycol.find({"by":"教程点"})
少于 {"key" :{$lt:"value"}} db.mycol.find({"喜欢":{$lt:50}})
小于等于 {"key" :{$lte:"value"}} db.mycol.find({"喜欢":{$lte:50}})
比...更棒 {"key" :{$gt:"value"}} db.mycol.find({"喜欢":{$gt:50}})
大于等于 {"key" {$gte:"value"}} db.mycol.find({"喜欢":{$gte:50}})
不等于 {"key":{$ne:"value"}} db.mycol.find({"喜欢":{$ne:50}})

例子1

以下示例检索名称为 sarmista 的集合中的文档。

from pymongo import MongoClient

#Creating a pymongo client
client = MongoClient('localhost', 27017)

#Getting the database instance
db = client['sdsegf']

#Creating a collection
coll = db['example']

#Inserting document into a collection
data = [
    {"_id": "1001", "name": "Ram", "age": "26", "city": "Hyderabad"},
    {"_id": "1002", "name": "Rahim", "age": "27", "city": "Bangalore"},
    {"_id": "1003", "name": "Robert", "age": "28", "city": "Mumbai"},
    {"_id": "1004", "name": "Romeo", "age": "25", "city": "Pune"},
    {"_id": "1005", "name": "Sarmista", "age": "23", "city": "Delhi"},
    {"_id": "1006", "name": "Rasajna", "age": "26", "city": "Chennai"}
]
res = coll.insert_many(data)
print("Data inserted ......")

#Retrieving data
print("Documents in the collection: ")

for doc1 in coll.find({"name":"Sarmista"}):
    print(doc1)
Data inserted ......
Documents in the collection:
{'_id': '1005', 'name': 'Sarmista', 'age': '23', 'city': 'Delhi'}

例子2

以下示例检索集合中年龄值大于 26 的文档。

from pymongo import MongoClient

#Creating a pymongo client
client = MongoClient('localhost', 27017)

#Getting the database instance
db = client['ghhj']

#Creating a collection
coll = db['example']

#Inserting document into a collection
data = [
    {"_id": "1001", "name": "Ram", "age": "26", "city": "Hyderabad"},
    {"_id": "1002", "name": "Rahim", "age": "27", "city": "Bangalore"},
    {"_id": "1003", "name": "Robert", "age": "28", "city": "Mumbai"},
    {"_id": "1004", "name": "Romeo", "age": "25", "city": "Pune"},
    {"_id": "1005", "name": "Sarmista", "age": "23", "city": "Delhi"},
    {"_id": "1006", "name": "Rasajna", "age": "26", "city": "Chennai"}
]
res = coll.insert_many(data)
print("Data inserted ......")

#Retrieving data
print("Documents in the collection: ")

for doc in coll.find({"age":{"$gt":"26"}}):
    print(doc)
Data inserted ......
Documents in the collection:
{'_id': '1002', 'name': 'Rahim', 'age': '27', 'city': 'Bangalore'}
{'_id': '1003', 'name': 'Robert', 'age': '28', 'city': 'Mumbai'}