Имам проблем със запазването на документи в нова колекция и след това с изтриването им от старата. Създавам нов обект така:
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.
Някой има ли идея? Много благодаря.