我需要重命名我使用pymongo
创建的数据库。我想用pymongo
来做。我发现this other stackoverflow question非常相似,而且代码片段看起来像pythonesque,除了use
关键字使得它...我不知道是什么(更新:可能是Perl?)。
我做了
client.copy_database('old_name', 'new_name)
然后发现我在`client.database_names()'中有new_name
。但它似乎没有收藏品?我还需要做什么,使用pymongo命令深度复制数据库?
答案 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')