从c#mongo db驱动程序执行mongo db shell查询(最新版本)

从c#mongo db驱动程序执行mongo db shell查询(最新版本),c#,mongodb,mongodb-query,mongodb-.net-driver,C#,Mongodb,Mongodb Query,Mongodb .net Driver,我想从C#运行mongo查询。目前我使用的是mongodb C#驱动程序2.7 db.changelog.find({}).forEach(function(doc){ //make javascript object dynimacally var newDoc = { "key": "value", "doc": doc } db.changelog_log.insertOne(newDoc); }) 这已成功运行到MongoShell中,现在我想从c#应用程序中使用mo

我想从C#运行mongo查询。目前我使用的是mongodb C#驱动程序2.7

db.changelog.find({}).forEach(function(doc){
//make javascript object dynimacally 
var newDoc = {
    "key": "value",
    "doc": doc
}
db.changelog_log.insertOne(newDoc); })
这已成功运行到MongoShell中,现在我想从c#应用程序中使用modify object value动态执行该脚本。我希望它能够解析这些查询并将它们传递给database.RunCommand,但我一直没有取得任何进展

var bsonDoc = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>("query");
database.RunCommand(command);
var bsonDoc=MongoDB.Bson.Serialization.BsonSerializer.Deserialize(“查询”);
database.RunCommand(command);
该代码在调用反序列化时失败,并显示以下错误消息:[其他信息:JSON reader需要一个值,但找到了“db”。]这非常合理,因为脚本不是有效的JSON

mongo 3.0之后,评估功能已贬值。 因此,我无法将脚本解析为可以执行的内容

我需要帮助


谢谢

“mongo查询”实际上是一个mongo shell脚本——一个使用shel javascript帮助函数的程序。在这个特定的脚本中,它对服务器进行
find
查询,检索光标,对其进行迭代,并对每个检索到的文档进行1次
insert
查询。您可以通过单个聚合查询获得相同的结果,或者将脚本从shell js转换为c#。您能否提供一个简单的示例(将脚本从shell js转换为c#)来开始使用驱动程序。不幸的是,如果我知道c#,我会回答而不是评论。你目前使用的c#代码是什么?你是否尝试过像这样使用JsonCommand: