数据库
首页 > 数据库> > 如何从C#调用MongoDb中存储的JavaScript

如何从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