有没有办法从 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/