我有以下代码:
mongoServer.CopyDatabase(mongoDatabaseName, partitionName.Replace("__", string.Empty));
mongoServer.DropDatabase(mongoDatabaseName);
我得到以下异常“NotImplementedException - 方法或操作未实现”。
这怎么可能?我犯了什么错?如何复制我的数据库?
该异常是正确的,因为该CopyDatabase
方法未实现。有关该问题的历史记录,请参阅JIRA 票证。
相反,您需要'copydb'
通过调用数据库来直接调用命令,RunCommand
如admin
本答案中所述。所以像:
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);