将列表保存到PyMongo

-4 投票
1 回答
5443 浏览
提问于 2025-04-18 14:58

我从来没有用过PyMongo,所以对这些东西还很陌生。我想把我的一个列表保存到MongoDB里。比如,我有一个列表 imageIds = ["zw8SeIUW", "f28BYZ"],这个列表会经常添加新内容。每次添加后,这个 imageIds 列表都应该保存到数据库里。

import pymongo
from pymongo import MongoClient

db = client.databaseForImages

然后稍后

imageIds.append(data)
db.databaseForImages.save(imageIds)

为什么这样不行呢?有什么解决办法吗?

1 个回答

5

首先,如果你不知道什么是Python字典(dict),我建议你先复习一下Python的基础知识。可以看看谷歌的Python课程或者《笨办法学Python》。否则,你可能每隔10分钟就会回来问一个新问题……

接下来,你需要连接到mongoDB服务器/实例:

client = MongoClient('hostname', port_number)

然后连接到一个数据库:

db = client.imagedb

接着把记录保存到名为“image_data”的集合里。

record = {'image_ids': imageIds}
db.image_data.save(record)

使用save()方法后,记录的字典会更新,增加一个'_id'字段,这个字段现在指向这个集合里的记录。如果你想用新的imageIds来更新它:

record['image_ids'] = imageIds # Already contains the original _id
db.image_data.save(record)

撰写回答