Python MongoDB - 查询
使用 find() 方法检索时,您可以使用查询对象过滤文档。您可以将指定所需文档条件的查询作为参数传递给此方法。
运算符
以下是 MongoDB 查询中使用的运算符列表。
操作 | 语法 | 示例 |
---|---|---|
相等 | {"key" : "value"> | db.mycol.find({"by":"tutorials point"}) |
小于 | {"key" :{$lt:"value"}> | db.mycol.find({"likes":{$lt:50}}) |
小于等于 | {"key" :{$lte:"value"}> | db.mycol.find({"likes":{$lte:50}}) |
大于 | {"key" :{$gt:"value"}> | db.mycol.find({"likes":{$gt:50}}) |
大于等于 | {"key" {$gte:"value"}> | db.mycol.find({"likes":{$gte:50}}) |
不等于 | {"key":{$ne: "value"} | db.mycol.find({"likes":{$ne:50}}) |
示例 1
以下示例检索集合中名称为 sarmista 的文档。
from pymongo import MongoClient #创建 pymongo 客户端 client = MongoClient('localhost', 27017) #获取数据库实例 db = client['sdsegf'] #创建集合 coll = db['example'] #将文档插入集合 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 ......") #检索数据 print("集合中的文档:") for doc1 in coll.find({"name":"Sarmista"}): print(doc1)
输出
数据已插入...... 集合中的文档: {'_id': '1005', 'name': 'Sarmista', 'age': '23', 'city': 'Delhi'}
示例2
以下示例检索集合中 age 值大于 26 的文档。
from pymongo import MongoClient #创建 pymongo 客户端 client = MongoClient('localhost', 27017) #获取数据库实例 db = client['ghhj'] #创建集合 coll = db['example'] #将文档插入集合 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'}