python 读取多个 GRIDFS
时间: 2023-10-21 19:15:51 浏览: 42
在 Python 中,可以使用 pymongo 库来读取 MongoDB 中的 GridFS 文件。如果要读取多个 GridFS 文件,可以使用以下代码:
```python
import pymongo
from bson.objectid import ObjectId
from gridfs import GridFS
# 连接 MongoDB 数据库
client = pymongo.MongoClient('mongodb://localhost:27017/')
db = client['test-db']
# 获取 GridFS 集合
fs = GridFS(db)
# GridFS 文件 ID 列表
file_ids = ['5f6d0f6c8d26d7f7b4d9b9c6', '5f6d0f6c8d26d7f7b4d9b9c7']
# 遍历文件 ID 列表,读取 GridFS 文件
for file_id in file_ids:
# 根据文件 ID 获取 GridFS 文件对象
grid_out = fs.get(ObjectId(file_id))
# 读取文件内容
file_content = grid_out.read()
# 打印文件内容
print(file_content)
```
在上面的代码中,首先连接 MongoDB 数据库,然后获取 GridFS 集合。接着,定义一个文件 ID 列表,遍历该列表,依次读取每个 GridFS 文件的内容,并打印文件内容。需要注意的是,文件 ID 必须是 ObjectId 类型,因此需要使用 bson.objectid 模块的 ObjectId 方法将字符串类型的文件 ID 转换为 ObjectId 类型。