我无法将文档保存到新集合,然后从旧集合中删除它们。我像这样创建一个新对象:
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)
将 mongoengine 0.10 和 pymongo 2.8.1 与 Python 3.4 一起使用。
有人有想法吗?非常感谢。