Don*_*rry 2 python django ubuntu mongodb pymongo
我正在获取 MongoDB 中某些集合的全部数据,一段时间后(例如 30 或 60 分钟),脚本会引发以下错误:
pymongo.errors.CursorNotFound:未找到光标 id 1801580172063793986,完整错误:{'ok':0.0,'errmsg':'未找到光标 id 1801580172063793986','code':43,'codeName':'CursorNotFound'}
这个错误发生在24k文件之后。我正在使用 Django 和 Pymongo 连接到本地服务器上的数据库。该集合包含大约 60k 文档。
这就是我获取数据的方式:
client = MongoClient(settings.MONGO_HOST, settings.MONGO_PORT)
collection = client[settings.MONGO_DB].collection
cursor = collection.find(no_cursor_timeout=True)
for document in cursor:
# getting the data from the user
Run Code Online (Sandbox Code Playgroud)
以防万一,我正在使用:
这不是错误的解决方案,但这是避免错误的一种方法。为了在尽可能短的时间内使用光标,您可以将所有数据保存在列表或类似的内容中。
client = MongoClient(settings.MONGO_HOST, settings.MONGO_PORT)
collection = client[settings.MONGO_DB].collection
cursor = collection.find(no_cursor_timeout=True)
collection_data = [document for document in cursor]
for document in collection_data:
# using the data
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4958 次 |
| 最近记录: |