我在mongoengine中切换数据库时遇到问题。我希望以下代码按预期工作:
class Test(Document):
f1 = StringField()
db_names = ['s' + str(i) for i in range(5)]
for db_name in db_names:
connect(db_name)
for i in range(10):
Test.objects.create(f1=uuid1().hex)
disconnect(db_name)
我知道context_managers.switch_db并且看过how to switch database name in mongoengine,但在我的情况下它不起作用。我需要为所有模型切换我的数据库。
答案 0 :(得分:1)
你试过吗?
class Test(Document): f1 = StringField() db_names = [register_connection('s' + str(i), ... ) for i in range(5)] for db_name in db_names: with switch_db(Test, db_name) as Test: for i in range(10): Test(f1=uuid1().hex).save()
有关register_connection
的更多信息,请参阅控制台上的help(register_connection)
。