1

我在 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 并研究了如何在 mongoengine 中切换数据库名称,但在我的情况下它不起作用。我需要为所有型号切换我的数据库。

4

1 回答 1

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)控制台。

于 2013-06-06T11:16:59.367 回答