我正在使用upsert进行更新操作。我想检索更新后修改过的所有文档。
for key in categories_links:
collection.update({"name" : key}, {"name": key ,"url" : categories_links[key]}, True)
答案 0 :(得分:1)
如果您需要查找更新时间和时间,请在文档中使用时间戳字段。有BSON type for that。
答案 1 :(得分:0)
据我所知,pymongo不会返回所有已被更新修改的记录列表。
但是,如果您使用的是复制集,则可以通过查看oplog来完成此操作。
根据文件:
oplog必须将多个更新转换为单个操作 为了保持幂等性。这可以使用大量的oplog 没有相应增加数据大小或磁盘使用的空间。
如果要跟踪要更新的每个元素,可以改为执行find(),然后遍历这些元素以对每个元素执行单独的update()。显然这会慢得多,但也许是对你的特定用例的权衡。