gpt4 book ai didi

python - 在 Flask-Mongoengine 中切换集合并保存

转载 作者:太空狗 更新时间:2023-10-30 00:19:25 25 4
gpt4 key购买 nike

我无法将文档保存到新集合,然后将它们从旧集合中删除。我像这样创建一个新对象:

class Test(mongo.Document):
field = mongo.StringField()

t = Test(field="test")
t.switch_collection('default')
t.save()
t.switch_collection('switched')
t.save()
t.switch_collection('default')
t.delete()

似乎只执行第一次保存到默认集合,然后什么都不执行。我玩过很多不同的选项,例如在每次切换/保存后从 mongoengine 上下文管理器重新加载对象:

with switch_collection(Test, 'mongoswitch') as test:
test(field="switch").save()

我的 mongo 设置如下(首先调用):

 app.config["MONGODB_SETTINGS"] = {'db': 'TestDB'}
mongo = MongoEngine(app)

在 Python 3.4 中使用 mongoengine 0.10 和 pymongo 2.8.1。

有人有想法吗?非常感谢。

最佳答案

我看到这是一个老问题,但也许有人有同样的问题。我认为这是因为当你有一个设置了 id 的文档时,通过调用 t.save() 您只更新集合中的现有文档。要真正保存它,您需要调用 t.save(force_insert=True)

关于python - 在 Flask-Mongoengine 中切换集合并保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31422196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com