Python 操作 MongoDB

在 Python 中操作 MongoDB 通常使用 pymongo 库,这是一个官方推荐的 MongoDB 驱动程序,提供了与 MongoDB 数据库的交互接口。以下是如何使用 pymongo 库进行基本操作的一个简单指南。

安装 pymongo

首先,你需要安装 pymongo。可以使用 pip 来安装:

pip install pymongo

基本用法

下面是如何使用 pymongo 执行一些基本操作的示例,包括连接到数据库、插入文档、查询文档以及更新和删除文档。

连接到 MongoDB

首先,导入 pymongo 并连接到 MongoDB:

from pymongo import MongoClient

# 创建一个 MongoClient 实例
client = MongoClient('mongodb://localhost:27017/')

# 选择一个数据库(如果数据库不存在,它将在您首次插入数据时创建)
db = client['mydatabase']

# 选择一个集合(如果集合不存在,它将在您首次插入数据时创建)
collection = db['mycollection']
插入文档

插入单个文档:

# 定义一个文档
document = {
    'name': 'Alice',
    'age': 25,
    'city': 'New York'
}

# 插入文档到集合
document_id = collection.insert_one(document).inserted_id
print(f"Inserted document with ID: {document_id}")

插入多个文档:

# 定义多个文档
documents = [
    {'name': 'Bob', 'age': 30, 'city': 'San Francisco'},
    {'name': 'Charlie', 'age': 35, 'city': 'Los Angeles'}
]

# 插入多个文档到集合
result = collection.insert_many(documents)
print(f"Inserted document IDs: {result.inserted_ids}")
查询文档

查询单个文档:

# 查询一个文档
document = collection.find_one({'name': 'Alice'})
print(f"Found document: {document}")

查询多个文档:

# 查询多个文档
for doc in collection.find({'age': {'$gt': 20}}):
    print(f"Found document: {doc}")
更新文档

更新单个文档:

# 更新一个文档
result = collection.update_one({'name': 'Alice'}, {'$set': {'age': 26}})
print(f"Matched {result.matched_count} document(s) and modified {result.modified_count} document(s).")

更新多个文档:

# 更新多个文档
result = collection.update_many({'age': {'$lt': 30}}, {'$set': {'age': 28}})
print(f"Matched {result.matched_count} document(s) and modified {result.modified_count} document(s).")
删除文档

删除单个文档:

# 删除一个文档
result = collection.delete_one({'name': 'Alice'})
print(f"Deleted {result.deleted_count} document(s).")

删除多个文档:

# 删除多个文档
result = collection.delete_many({'age': 28})
print(f"Deleted {result.deleted_count} document(s).")

关闭连接

完成操作后,可以关闭数据库连接:

client.close()

高级用法

pymongo 还支持许多高级功能,如索引创建、聚合管道、事务(在使用 MongoDB 副本集时)、会话管理等。你可以参考 pymongo 官方文档 以获取更多信息和详细用法。

通过这些基本操作,你可以开始在 Python 中处理 MongoDB 数据库,构建各种数据驱动的应用程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值