我已将一些mongoengine文档转储到pickle文件中。当我在运行时加载它们并尝试将它们保存到Db时,不会引发错误,但不保存文档。
这是一个代码示例:
with open("documents.list", "rb") as infile:
documents = pickle.load(infile)
for document in documents:
if MyDocument.objects(id=document.id).first() is None:
document.save()
我已经验证document
对象与正确的集合和db相关联。在上面的代码中,它输入if
,因此执行document.save()
。但我的收藏中没有文件......
答案 0 :(得分:0)
这可能是因为您的文件在被腌制时已经处于saved
状态,因此它们不会再次插入Db中。您可以通过更改document.save()
行:
document.save(force_insert=True)