Python MongoDB – find_one 查询
先决条件: MongoDB Python基础
本文重点介绍 PyMongo 库的find_one()方法。 find_one()
用于从 MongoDB 中查找数据。
让我们从 find_one() 方法开始:
- 导入 PyMongo 模块:使用以下命令导入 PyMongo 模块:
from pymongo import MongoClient
如果您的机器上尚未安装 MongoDB,您可以参考指南:使用Python安装 MongoDB 的指南
- 创建连接:现在我们已经导入了模块,是时候建立与 MongoDB 服务器的连接了,大概是在 localhost(主机名)的端口 27017(端口号)上运行。
client = MongoClient(‘localhost’, 27017)
- 访问数据库:因为与 MongoDB 服务器的连接已建立。我们现在可以创建或使用现有的数据库。
mydatabase = client.name_of_the_database
- 访问集合:我们现在使用以下语法从数据库中选择集合:
collection_name = mydatabase.name_of_collection
- 在集合中查找:现在我们将使用 find_one()函数在数据库中查找。如果在数据库中找到数据,此函数仅返回一个值,否则返回 None。它非常适合我们需要搜索唯一一个文档的情况。
句法:
find_one(filter=None, *args, **kwargs)
示例 1:
样本数据库:
# Python program to demonstrate
# find_one() method
# Importing Library
from pymongo import MongoClient
# Connecting to MongoDB server
# client = MongoClient('host_name','port_number')
client = MongoClient('localhost', 27017)
# Connecting to the database named
# GFG
mydatabase = client.GFG
# Accessing the collection named
# gfg_collection
mycollection = mydatabase.Student
# Searching through the database
# using find_one method.
result = mycollection.find_one({"Branch":"CSE"})
print(result)
输出:
{‘_id’: 1, ‘name’: ‘Vishwash’, ‘Roll No’: ‘1001’, ‘Branch’: ‘CSE’}
示例 2:
# Python program to demonstrate
# find_one() method
# Importing Library
from pymongo import MongoClient
# Connecting to MongoDB server
# client = MongoClient('host_name','port_number')
client = MongoClient('localhost', 27017)
# Connecting to the database named
# GFG
mydatabase = client.GFG
# Accessing the collection named
# gfg_collection
mycollection = mydatabase.Student
# Searching through the database
# using find_one method.
result = mycollection.find_one({"Branch":"CSE"},
{'_id':0, 'name':1, 'Roll No':1})
print(result)
输出:
{'name': 'Vishwash', 'Roll No': '1001'}