2015-07-15 22 views
5

Belgeleri yeni bir koleksiyona kaydetme ve daha sonra bunları eski dosyadan silme konusunda sorun yaşıyorum. Ben yeni bir nesne şöyle oluşturun:Flask-Mongoengine'de Koleksiyonlar ve tasarruf geçişi

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() 

Sadece görünüyor varsayılan koleksiyonuna kaydetme ilk gerçekleştirmek ve ondan sonra hiçbir şey gerçekleştirir. Böyle her geçişten sonra nesneyi yeniden olarak fark seçeneklerinin bir grup ile etrafında oynamıştır/kaydetmek ve mongoengine bağlam yöneticilerinden:

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

My Mongo ayarları (sözde ilk) gibi görünür:

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

Piongon ile mongoengine 0.10 ve pymongo 2.8.1 kullanma 3.4.

Herkesin bir fikri vardır? Çok teşekkürler.

cevap

0

Herhangi bir hatayla karşılaşıyor musunuz? Benim için çalışmıştı. Mongo db koleksiyonlarındaki kayıtları kontrol et.

olası bir mongoengine docs gelen nedeni: "Herhangi diğer adlar register_connection (tescil edilmiş olduğundan emin olun) veya bağlam yöneticisini kullanmadan önce() bağlamak"

+0

Hayır Hiç bir hata alamıyorum, mongoengine 0.10 ile ilgili bir sorun olduğuna inanıyorum, sadece 0.09'a düşürdüğümden ve doğru bir şekilde kaydettiklerinden. Bu koleksiyonu sorgulamak farklı bir hikaye olsa da .. –