gpt4 book ai didi

c# - 来自 C# 的 MongoDB db.runCommand()

转载 作者:行者123 更新时间:2023-12-05 07:48:26 26 4
gpt4 key购买 nike

您好,我正在使用 C# 和 MongoDB 官方驱动程序 v2.2.4,我想在管理数据库上运行 db.runCommand()。

到目前为止我已经有了这个并且我能够连接到管理数据库但是 db.runCommand 给我这个错误“MongoDB.Bson.dll 中发生了类型为‘System.FormatException’的未处理异常附加信息:JSON 阅读器期待一个值,但找到了 'db'。”

MongoClient client = new MongoClient();
database = client.GetDatabase("admin");
var collection = database.GetCollection<BsonDocument>("test");
var commandResult = database.RunCommand<string>(@"db.createCollection(test1)");

解决此测试后,我想从 C# 运行此命令,但我卡住了。

db.runCommand( { addshard : “localhost:10001”, name : “shard10001” } );

任何人都可以解决这个问题并为我提供一个很好的解释和例子。经过一番搜索后,我尝试了这段代码似乎更有意义,但仍然出现错误。 “附加信息:命令 addshard 失败:没有这样的命令:'addshard',错误的命令:'{ addshard:“192.168.1.4:27017”,名称:“shard1”}'。”

请告诉我我做错了什么!谢谢。

    var addShardCommand = new BsonDocument {
{ "addshard", "192.168.1.4:27017"},
{ "name", "shard1" }
};
var addShardResult = database.RunCommand<BsonDocument>(addShardCommand);

最佳答案

您需要检查mongodb 中的正确命令是什么。就像有时 name 需要 Document 对象而不仅仅是字符串。

我正在使用类似的东西。检查这是否有帮助

var name = new BsonDocument { { "name", "regions" } };
var command = new BsonDocument { { "listCollections", 1 }, { "filter", name } };
var result = Database.RunCommand<BsonDocument>(command);
var k = result.ToJson();

这里的名称又是我从文档中找到的对象 https://docs.mongodb.com/manual/reference/command/listCollections/

您可以从这里获得更多帮助 https://zetcode.com/csharp/mongodb/

关于c# - 来自 C# 的 MongoDB db.runCommand(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38645151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com