无法保存腌制的MongoEngine文件

问题描述 投票:2回答:1

我已将一些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()。但我的收藏中没有文件......

python mongodb pickle mongoengine
1个回答
0
投票

这可能是因为你的文件在被腌制时已经具有saved状态,因此它们不会再次插入到Db中。您可以通过更改document.save()行强制在db中创建它们:

document.save(force_insert=True)
© www.soinside.com 2019 - 2024. All rights reserved.