2013-02-06 28 views
0

我救了我的地图,并减少与db.system.js.save命令功能,MongoDB的地图减少C#与存储js函数

我想在C#中调用地图此功能降低 相同的

MongoClient client = new MongoClient(); 
     MongoServer server = client.GetServer(); 
     MongoDatabase test = server.GetDatabase("test"); 
     MongoCredentials credentials = new MongoCredentials("username", "password"); 
     var databaseSettings = server.CreateDatabaseSettings("test"); 
     var database = server.GetDatabase(databaseSettings); 

     BsonValue bv = test.Eval("GetSum(3,10)"); 

是可能的吗?

+0

至少API是这么说的。 尝试单独传递参数,例如test.Eval(“GetSum”,3,10); –

+1

感谢其解答我的问题。但'BsonValue bv = test.Eval(“GetSum”,3,10); BsonValue bv1 = test.Eval(bv.AsBsonJavaScript.Code,3,10);'so test.Eval(“GetSum”,3,10);返回js函数并重新发送此函数返回结果。 – nercan

回答

2

答案是;

MongoClient client = new MongoClient(); 
    MongoServer server = client.GetServer(); 
    MongoDatabase test = server.GetDatabase("test"); 
    MongoCredentials credentials = new MongoCredentials("username", "password"); 
    var databaseSettings = server.CreateDatabaseSettings("test"); 
    var database = server.GetDatabase(databaseSettings); 

    BsonValue bv = test.Eval("GetSum",3,10); // return stored js function 
BsonValue bv1 = test.Eval(bv .AsBsonJavaScript.Code,3,10); // execute jsfunction