使用pymongo在mongodb中执行更新操作后,如何检索修改过的文档?

使用pymongo在mongodb中执行更新操作后,如何检索修改过的文档?,mongodb,pymongo,Mongodb,Pymongo,我正在使用upsert的更新操作。我想检索更新后修改过的所有文档 for key in categories_links: collection.update({"name" : key}, {"name": key ,"url" : categories_links[key]}, True) 如果您需要查找哪些文档在何时何地更新,那么应该在文档中使用时间戳字段。据我所知,pymongo不会返回更新修改过的所有记录的列表 for key in categories_links:

我正在使用upsert的更新操作。我想检索更新后修改过的所有文档

for key in categories_links:
    collection.update({"name" : key}, {"name": key ,"url" : categories_links[key]}, True)

如果您需要查找哪些文档在何时何地更新,那么应该在文档中使用时间戳字段。据我所知,pymongo不会返回更新修改过的所有记录的列表

for key in categories_links:
    collection.update({"name" : key}, {"name": key ,"url" : categories_links[key]}, True)
但是,如果您使用的是replicaset,则可以通过查看

根据文件:

oplog必须将多个更新转换为中的单个操作 为了保持幂等性。这可以使用大量的oplog 数据大小或磁盘使用量没有相应增加的空间


如果您想跟踪正在更新的每个元素,可以改为执行find(),然后循环这些元素,对每个元素执行单独的update()。显然,这会慢得多,但可能是对特定用例的折衷。

不理解您的问题。您可以以某种方式标记更新的对象。