3

有没有办法从 C# 驱动程序调用 MongoDB 的 db.repairDatabase() 函数?

我能够压缩收藏:

database.RunCommand(new CommandDocument("compact","collectionname"));

但我没有设法调用repairDatabase。

4

2 回答 2

1

database.RunCommand方法已重载。它还可以采用一个字符串作为命令的名称,如下所示:

database.RunCommand("repairDatabase")

它还返回一个CommandResult对象。

于 2012-05-02T18:08:23.243 回答
1

在回应您收到消息“错误选项”异常的评论时,事实证明服务器对您使用 1 还是 true 作为 repairDatabase 字段的值很挑剔。以下两个是等效的,并且都失败了,因为服务器不喜欢“true”而不是“1”:

database.RunCommand("repairDatabase");
database.RunCommnad(new CommandDocument("repairDatabase", true));

但这有效:

database.RunCommnad(new CommandDocument("repairDatabase", 1));

如果这与您有关,您可以向服务器报告 JIRA:

https://jira.mongodb.org/browse/SERVER

于 2012-05-03T06:12:11.657 回答