如何从C#调用MongoDb中存储的JavaScript
作者:互联网
我正在评估SQL Server数据库到MongoDb的移植.
问题是移动存储过程,我读到有关MongoDb存储的JavaScript的信息,我想在.Net中进行一些测试.我已经安装了MongoDb驱动程序2.4.0,并在名为test_function的MongoDb上创建了此函数:
function (x)
{
return x;
}
这是我用来尝试调用该函数的代码:
MongoClient oMongoClient = new MongoClient(Properties.Settings.Default.MongoCN);
IMongoDatabase oMongoDatabase = oMongoClient.GetDatabase("test_db");
var result = oMongoDatabase.RunCommand<BsonDocument>("test_function(3)");
我收到此错误:
An unhandled exception of type ‘System.FormatException’ occurred in MongoDB.Bson.dll
Additional information: JSON reader was expecting a value but found ‘test_function’.
解决方法:
我认为您可以使用这种方式来运行存储的脚本:
var cmd = new JsonCommand<BsonDocument>("{ eval: \"test_function(2)\" }");
var result = db.RunCommand(cmd);
但是结果在BsonDocument中以获取正确的结果,您可以使用以下方法:
var intResult = result["retval"].ToInt32();
标签:mongodb,mongodb-net-driver,c 来源: https://codeday.me/bug/20191112/2023692.html