📅  最后修改于: 2023-12-03 15:24:00.909000             🧑  作者: Mango
MongoDB 是一种流行的文档数据库,用于存储非结构化数据。Python 提供了官方的 MongoDB 驱动程序 PyMongo,可以轻松地与 MongoDB 服务器交互。
在本文中,我们将介绍如何使用 Python 和 PyMongo 访问 MongoDB 中的集合。
在开始访问 MongoDB 之前,请确保已安装 PyMongo。您可以通过运行以下命令安装它:
pip install pymongo
首先,让我们创建一个连接到 MongoDB 的客户端。您需要提供 MongoDB 服务器的主机名和端口号以及您的凭据(如果您有)。
import pymongo
# 连接到 MongoDB 服务器
client = pymongo.MongoClient("mongodb://localhost:27017/")
# 选择数据库
db = client["mydatabase"]
在这里,我们连接到本地 MongoDB 服务器的默认端口 27017,并选择名为 mydatabase
的数据库。
现在,我们可以访问 mydatabase
数据库中的任何集合。我们可以从数据库对象中获取该集合对象。
# 选择集合
collection = db["customers"]
在这里,我们选择名为 customers
的集合。
我们可以使用 insert_one()
方法将数据插入 MongoDB 集合中。
# 插入单个文档
data = { "name": "Alice", "age": 25 }
result = collection.insert_one(data)
print("Inserted document with _id:", result.inserted_id)
在这里,我们定义了一个数据对象 data
,该对象包含一个名为 name
和一个名为 age
的键值对。我们将数据插入到 customers
集合中,并使用 inserted_id
属性访问新添加文档的 ID。
使用 find()
方法可查询集合中的所有文档,使用查询条件可筛选结果。
# 查询集合中的所有文档
for doc in collection.find():
print(doc)
# 根据查询条件查询文档
query = { "name": "Alice" }
for doc in collection.find(query):
print(doc)
使用 update_one()
或 update_many()
方法可更新集合中的文档。
# 更新单个文档
query = { "name": "Alice" }
new_value = { "$set": { "age": 26 } }
result = collection.update_one(query, new_value)
print("Number of documents modified:", result.modified_count)
# 更新多个文档
query = { "name": { "$regex": "^A" } }
new_value = { "$set": { "age": 30 } }
result = collection.update_many(query, new_value)
print("Number of documents modified:", result.modified_count)
在这里,我们使用 update_one()
方法将名为 Alice
的文档的 age
键更新为 26
。使用 $set
操作符指定要更新的键及其新值。
使用 update_many()
方法可更新满足查询条件的所有文档。
使用 delete_one()
或 delete_many()
方法可从集合中删除文档。
# 删除单个文档
query = { "name": "Alice" }
result = collection.delete_one(query)
print("Number of documents deleted:", result.deleted_count)
# 删除多个文档
query = { "name": { "$regex": "^A" } }
result = collection.delete_many(query)
print("Number of documents deleted:", result.deleted_count)
在这里,我们使用 delete_one()
方法删除名为 Alice
的文档。使用 delete_many()
方法将满足查询条件的所有文档删除。
以上就是使用 Python 访问 MongoDB 中的集合的基本操作。要深入了解 PyMongo,请参阅官方文档。