有没有办法从 C# 驱动程序调用 MongoDB 的 db.repairDatabase() 函数?
我能够压缩收藏:
database.RunCommand(new CommandDocument("compact","collectionname"));
但我没有设法调用repairDatabase。
该database.RunCommand
方法已重载。它还可以采用一个字符串作为命令的名称,如下所示:
database.RunCommand("repairDatabase")
它还返回一个CommandResult
对象。
在回应您收到消息“错误选项”异常的评论时,事实证明服务器对您使用 1 还是 true 作为 repairDatabase 字段的值很挑剔。以下两个是等效的,并且都失败了,因为服务器不喜欢“true”而不是“1”:
database.RunCommand("repairDatabase");
database.RunCommnad(new CommandDocument("repairDatabase", true));
但这有效:
database.RunCommnad(new CommandDocument("repairDatabase", 1));
如果这与您有关,您可以向服务器报告 JIRA: