我有以下代码:
mongoServer.CopyDatabase(mongoDatabaseName, partitionName.Replace("__", string.Empty));
mongoServer.DropDatabase(mongoDatabaseName);
我获得以下异常“NotImplementedException - 未实现方法或操作。”
怎么可能?我冤枉了什么?如何复制我的数据库?
答案 0 :(得分:1)
异常是正确的,因为未实现CopyDatabase
方法。有关问题的历史,请参阅JIRA ticket。
相反,您需要通过调用'copydb'
数据库上的RunCommand
直接调用admin
命令,如this answer中所述。如下所示:
var adminDB = Server.GetDatabase("admin");
var command = new CommandDocument(new List<BsonElement> {
new BsonElement("copydb", 1),
new BsonElement("fromhost", "localhost"),
new BsonElement("fromdb", mongoDatabaseName),
new BsonElement("todb", partitionName.Replace("__", string.Empty))
});
var result = adminDB.RunCommand(command);