使用mongo驱动程序复制数据库

时间:2013-10-13 17:08:56

标签: mongodb c#-4.0

我有以下代码:

 mongoServer.CopyDatabase(mongoDatabaseName, partitionName.Replace("__", string.Empty));
 mongoServer.DropDatabase(mongoDatabaseName);

我获得以下异常“NotImplementedException - 未实现方法或操作。”

怎么可能?我冤枉了什么?如何复制我的数据库?

1 个答案:

答案 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);
相关问题