我正在从 mongoDB 读取数据到 pandas 数据框..
client = MongoClient('localhost',27017)
db = client.test_insert ## name of the database
collection = db.dataset2
df = pd.DataFrame(list(db.dataset2.find()))
这将是 mongoDB 的 dataset2 集合中的所有文档。然后我将其转换为 pandas 数据框。 接下来我存储最后插入的文档插入的 objectID..
last_inserted_id = df['_id'].tail(1)
然后我只想读入 dataset2 集合中插入的新文档。我正在尝试这样做。
df2 = db.dataset2.find({"_id": {"$gt": ObjectId(last_inserted_id) }})
但它给了我一个错误
TypeError: id must be an instance of (str, unicode, ObjectId), not <class
'pandas.core.series.Series'>
我将数据帧“_id”列转换为字符串,但它不起作用。给我同样的错误。 怎么做?请帮忙
最佳答案
您是否尝试过对抛出错误的调用进行这种更改?
df2 = db.dataset2.find({"_id": {"$gt": last_inserted_id }})
这似乎就是您想要做的。 last_inserted_id
是要搜索的值; ObjectId
是一个类,不是该 mongo 查找的有效参数。
关于python - 如何在python中将mongoDB objectID转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34149189/