MongoDB找不到现有文档



我有最奇怪的问题。我使用了我使用Pymongo的Python代码,它作为芹菜的自动任务运行:

query_filter = {'current_data': {'$exists': True}}
record_list = [x['_id'] for x in db.records.find(query_filter, {'_id': 1})]
for i, record_id in enumerate(record_list):
    my_record = db.records.find_one({'_id': record_id})
    record_data = my_record['current_data']
    perform_action(record_data)

,它给了我这个错误:

record_data = my_record['current_data']
TypeError: 'NoneType' object has no attribute '__getitem__'

records收集有63500个文档,其中约1%的文档达到了MongoDB文档的最大尺寸的80%(16兆字节(。我有Pymongo版本3.4.0。你知道这里可能会发生什么吗?

您从集合"记录"首先"查询,然后从集合"记录"中查询。那是错字吗?如果这样

显然答案非常简单明了:程序运行的时间足够长,可以在我查询它们时删除记录。无概括,但似乎是真的。

最新更新