我需要以编程方式重命名MongoDB数据库。我还没有看到用MongoDB C驱动来实现这一点的方法。
我想做如下事情:
this.mongoclient.renamedatabase(“oldname”,“newname”);
我想我可以自己滚,但我觉得这应该是可能的,目前的司机。

最佳答案

对源数据库中的每个集合名称在管理数据库上运行renameCollection命令,格式为:
renameCollection: 'old.CollectionName', to: 'new.CollectionName'
以下是如何在c中完成的:

var client = new MongoClient();
var dbAdmin = client.GetDatabase("admin");

var dbOldName = "old-db";
var dbNewName = "new-db";

var collections = client.GetDatabase(dbOldName).ListCollectionNames().ToList();

foreach (var collection in collections)
{
    var command = $"{{ renameCollection: '{dbOldName}.{collection}', to: '{dbNewName}.{collection}' }}";

    dbAdmin.RunCommand<BsonDocument>(command);
}

关于c# - 如何重命名mongodb数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56826478/

10-16 21:21