如何使用pymongo重命名mongodb数据库?

时间:2013-09-05 21:50:46

标签: python mongodb pymongo

我需要重命名我使用pymongo创建的数据库。我想用pymongo来做。我发现this other stackoverflow question非常相似,而且代码片段看起来像pythonesque,除了use关键字使得它...我不知道是什么(更新:可能是Perl?)。

我做了

client.copy_database('old_name', 'new_name)

然后发现我在`client.database_names()'中有new_name。但它似乎没有收藏品?我还需要做什么,使用pymongo命令深度复制数据库?

2 个答案:

答案 0 :(得分:4)

从PyMongo 3.0开始,您必须使用admin.command copy_database之后的client.admin.command('copydb', fromdb='source_db_name', todb='target_db_name')

studentGrages[*, 0]

答案 1 :(得分:1)

import pymongo
client = pymongo.MongoClient()

client.copy_database('foo', 'bar')

assert set(client['foo'].collection_names()) == set(client['bar'].collection_names())

for collection in client['foo'].collection_names():
    assert client['foo'][collection].count() == client['bar'][collection].count()

client.drop_database('foo')