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

我能够压缩集合:

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

但我无法调用 repairDatabase。

最佳答案

为了回应您的评论,您收到了消息“错误选项”的异常,结果证明服务器对您使用 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

关于C# 相当于 db.repairDatabase(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10418230/

10-16 23:41