public void TestEvalNoArgs() { var code = "function() { return 1; }"; var result = database.Eval(code); Assert.AreEqual(1, result.ToInt32()); }
public void TestAmbiguousEvalArguments() { var code = "function (x, y) { return y; }"; var objectArrayArg = new object[] { 1, 2, 3 }; var boolArg = true; var result = database.Eval(code, objectArrayArg, boolArg); // before change boolArg was being misinterpreted as nolock argument Assert.AreEqual(BsonType.Boolean, result.BsonType); Assert.AreEqual(true, result.AsBoolean); }
public void TestAmbiguousEvalArguments() { if (!DriverTestConfiguration.Client.Settings.Credentials.Any()) { var code = "function (x, y) { return y; }"; var objectArrayArg = new object[] { 1, 2, 3 }; var boolArg = true; #pragma warning disable 618 var result = _database.Eval(code, objectArrayArg, boolArg); // before change boolArg was being misinterpreted as nolock argument #pragma warning restore Assert.AreEqual(BsonType.Boolean, result.BsonType); Assert.AreEqual(true, result.AsBoolean); } }
/// <summary> /// GetRole /// </summary> /// <param name="mongoDb"></param> /// <param name="RoleName"></param> /// <returns></returns> public static BsonDocument GetRole(MongoDatabase mongoDb, String RoleName) { EvalArgs doc = new EvalArgs(); doc.Code = "db.getRole('" + RoleName + "',{showPrivileges:true})"; return(mongoDb.Eval(doc).AsBsonDocument); }
public static DateTime GetServerTimeUtc(this MongoDatabase database) { return(database.Eval(new EvalArgs { Code = new BsonJavaScript("new Date()") }).ToUniversalTime()); }
/// <summary> /// GetRole /// </summary> /// <param name="mongoDb"></param> /// <param name="roleName"></param> /// <returns></returns> public static BsonDocument GetRole(MongoDatabase mongoDb, string roleName) { var doc = new EvalArgs() { Code = "db.getRole('" + roleName + "',{showPrivileges:true})" }; return(mongoDb.Eval(doc).AsBsonDocument); }
public void TestEvalNoArgs() { var code = "function() { return 1; }"; #pragma warning disable 618 var result = _database.Eval(code); #pragma warning restore Assert.AreEqual(1, result.ToInt32()); }
public static void Eval(MongoDatabase database, string fileName) { using (var stream = new FileStream(fileName, FileMode.Open)) { using (var reader = new StreamReader(stream)) { var javaScript = new BsonJavaScript(reader.ReadToEnd()); database.Eval(javaScript); } } }
/// <summary> /// 初始化副本(Mongo Shell) /// </summary> /// <returns></returns> public static CommandResult InitReplicaSet() { //使用local数据库发送 rs.initiate() 指令 MongoDatabase mongoDb = RuntimeMongoDbContext.GetCurrentClient().GetServer().GetDatabase("local"); var args = new EvalArgs { Code = "rs.initiate()" }; var result = mongoDb.Eval(args); return(new CommandResult(result.AsBsonDocument)); }
public void TestEvalNoArgs() { #pragma warning disable 618 if (!DriverTestConfiguration.Client.Settings.Credentials.Any()) { var code = "function() { return 1; }"; var result = _database.Eval(code); Assert.Equal(1, result.ToInt32()); } #pragma warning restore }
public void TestEvalNoArgs() { if (!Configuration.TestClient.Settings.Credentials.Any()) { var code = "function() { return 1; }"; #pragma warning disable 618 var result = _database.Eval(code); #pragma warning restore Assert.AreEqual(1, result.ToInt32()); } }
/// <summary> /// eval Javascript /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdEval_Click(object sender, EventArgs e) { MongoDatabase mongoDB = SystemManager.GetCurrentDataBase(); var js = new BsonJavaScript(ctlEval.Context); var Params = new List <Object>(); if (txtParm.Text != String.Empty) { foreach (String parm in txtParm.Text.Split(",".ToCharArray())) { if (parm.StartsWith("'") & parm.EndsWith("'")) { Params.Add(parm.Trim("'".ToCharArray())); } else { try { Boolean isNuberic = true; for (int i = 0; i < parm.Length; i++) { if (!char.IsNumber(parm, i)) { isNuberic = false; } } if (isNuberic) { Params.Add(Convert.ToInt16(parm)); } } catch (Exception ex) { SystemManager.ExceptionDeal(ex, "Exception", "Parameter Exception"); } } } } try { BsonValue result = mongoDB.Eval(js, Params.ToArray()); MyMessageBox.ShowMessage("Result", "Result", result.ToJson(SystemManager.JsonWriterSettings), true); } catch (Exception ex) { SystemManager.ExceptionDeal(ex, "Exception", "Result"); } }
public void TestEvalNoArgsNoLock() { if (!DriverTestConfiguration.Client.Settings.Credentials.Any()) { var code = "function() { return 1; }"; #pragma warning disable 618 var result = _adminDatabase.Eval(EvalFlags.NoLock, code); #pragma warning restore Assert.Equal(1, result.ToInt32()); } }
/// <summary> /// 执行原生查询 /// </summary> /// <param name="queryStr"></param> /// <returns></returns> public BsonValue EvalNativeQuery(string queryStr) { BsonValue resultVal = null; BsonJavaScript queryScript = new BsonJavaScript(queryStr); try { resultVal = _mongoDatabase.Eval(queryScript); } catch { resultVal = null; } return(resultVal); }
public void TestEvalNoArgsNoLock() { RequireServer.Check().Supports(Feature.Eval); #pragma warning disable 618 if (!DriverTestConfiguration.Client.Settings.Credentials.Any()) { var code = "function() { return 1; }"; var result = _adminDatabase.Eval(EvalFlags.NoLock, code); Assert.Equal(1, result.ToInt32()); } #pragma warning restore }
/// <summary> /// 添加一个用户自定义角色 /// </summary> public static BsonValue AddRole(MongoDatabase mongoDb, Role role) { var roleCommand = string.Empty; var doc = new EvalArgs(); roleCommand = "db.createRole(" + Environment.NewLine; roleCommand += "{" + Environment.NewLine; roleCommand += " role: '" + role.Rolename + "'," + Environment.NewLine; //Roles roleCommand += " roles:" + Environment.NewLine; roleCommand += " ["; for (var i = 0; i < role.Roles.Length; i++) { var singleroles = role.Roles[i]; roleCommand += "{ role: '" + singleroles.MRole + "', db: '" + singleroles.Db + "' }" + (i == role.Roles.Length - 1 ? "" : ",") + Environment.NewLine; } roleCommand += " ],"; //privileges roleCommand += " privileges:" + Environment.NewLine; roleCommand += " ["; for (var i = 0; i < role.Privileges.Length; i++) { var singleprivileges = role.Privileges[i]; roleCommand += "{" + singleprivileges.Resource.GetJsCode() + "," + MongoDbAction.GetActionListJs(singleprivileges.Actions) + "}" + (i == role.Privileges.Length - 1 ? "" : ",") + Environment.NewLine; } roleCommand += " ],"; // roleCommand += "}" + Environment.NewLine; roleCommand += ")"; doc.Code = roleCommand; BsonValue result; try { result = mongoDb.Eval(doc); } catch (MongoCommandException ex) { result = ex.Result; } return(result); }
public static void Drop(MongoDatabase eventStoreDb) { var script = new BsonJavaScript( @"db.Snapshots.remove({}); var cursor = db.Streams.find({'SnapshotRevision' : { $gt : 0}}).sort({_id:1}); var doc = null; do{ doc = cursor.hasNext() ? cursor.next() : null; if(doc){ doc.Unsnapshotted = doc.HeadRevision; doc.SnapshotRevision = 0; db.Streams.save(doc); } }while(doc != null);"); eventStoreDb.Eval(script); }
/// <summary> /// 添加一个用户自定义角色 /// </summary> public static BsonValue AddRole(MongoDatabase mongoDb, Role role) { String RoleCommand = String.Empty; EvalArgs doc = new EvalArgs(); RoleCommand = "db.createRole(" + System.Environment.NewLine; RoleCommand += "{" + System.Environment.NewLine; RoleCommand += " role: '" + role.rolename + "'," + System.Environment.NewLine; //Roles RoleCommand += " roles:" + System.Environment.NewLine; RoleCommand += " ["; for (int i = 0; i < role.roles.Length; i++) { var singleroles = role.roles[i]; RoleCommand += "{ role: '" + singleroles.mRole + "', db: '" + singleroles.db + "' }" + ((i == role.roles.Length - 1) ? "" : ",") + System.Environment.NewLine; } RoleCommand += " ],"; //privileges RoleCommand += " privileges:" + System.Environment.NewLine; RoleCommand += " ["; for (int i = 0; i < role.privileges.Length; i++) { var singleprivileges = role.privileges[i]; RoleCommand += "{" + singleprivileges.resource.GetJsCode() + "," + Action.GetActionListJs(singleprivileges.actions) + "}" + ((i == role.privileges.Length - 1) ? "" : ",") + System.Environment.NewLine; } RoleCommand += " ],"; // RoleCommand += "}" + System.Environment.NewLine; RoleCommand += ")"; doc.Code = RoleCommand; BsonValue result; try { result = mongoDb.Eval(doc); } catch (MongoCommandException ex) { result = ex.CommandResult.Response; } return(result); }
/// <summary> /// 添加一个用户自定义角色 /// </summary> public static BsonValue AddRole(MongoDatabase mongoDb, Role role) { var roleCommand = string.Empty; var doc = new EvalArgs(); roleCommand = "db.createRole(" + Environment.NewLine; roleCommand += "{" + Environment.NewLine; roleCommand += " role: '" + role.Rolename + "'," + Environment.NewLine; //Roles roleCommand += " roles:" + Environment.NewLine; roleCommand += " ["; for (var i = 0; i < role.Roles.Length; i++) { var singleroles = role.Roles[i]; roleCommand += "{ role: '" + singleroles.MRole + "', db: '" + singleroles.Db + "' }" + ((i == role.Roles.Length - 1) ? "" : ",") + Environment.NewLine; } roleCommand += " ],"; //privileges roleCommand += " privileges:" + Environment.NewLine; roleCommand += " ["; for (var i = 0; i < role.Privileges.Length; i++) { var singleprivileges = role.Privileges[i]; roleCommand += "{" + singleprivileges.Resource.GetJsCode() + "," + MongoDbAction.GetActionListJs(singleprivileges.Actions) + "}" + ((i == role.Privileges.Length - 1) ? "" : ",") + Environment.NewLine; } roleCommand += " ],"; // roleCommand += "}" + Environment.NewLine; roleCommand += ")"; doc.Code = roleCommand; BsonValue result; try { result = mongoDb.Eval(doc); } catch (MongoCommandException ex) { result = ex.Result; } return result; }
private void btnRun_Click(object sender, EventArgs e) { try { MongoClient client = new MongoClient(this.txtConnectionString.Text); MongoDatabase datbase = client.GetServer().GetDatabase(this.txtDatabase.Text); BsonValue value = datbase.Eval ( new MongoDB.Bson.BsonJavaScript(this.txtJavaScript.Text), new Guid(this.txtApplicationId.Text), DateTime.Parse(this.txtStartDate.Text), DateTime.Parse(this.txtEndDate.Text), DateTime.Parse(this.txtStartDateCompare.Text), DateTime.Parse(this.txtEndDateCompare.Text) ); this.txtResult.Text = value.ToJson(); } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace, "Error"); } }
/// <summary> /// 添加一个用户自定义角色 /// </summary> public static BsonValue AddRole(MongoDatabase mongoDb, Role role) { String RoleCommand = String.Empty; EvalArgs doc = new EvalArgs(); RoleCommand = "db.createRole(" + System.Environment.NewLine; RoleCommand += "{" + System.Environment.NewLine; RoleCommand += " role: '" + role.rolename + "'," + System.Environment.NewLine; //Roles RoleCommand += " roles:" + System.Environment.NewLine; RoleCommand += " ["; for (int i = 0; i < role.roles.Length; i++) { var singleroles = role.roles[i]; RoleCommand += "{ role: '" + singleroles.mRole + "', db: '" + singleroles.db + "' }" + ((i == role.roles.Length - 1) ? "" : ",") + System.Environment.NewLine; } RoleCommand += " ],"; //privileges RoleCommand += " privileges:" + System.Environment.NewLine; RoleCommand += " ["; for (int i = 0; i < role.privileges.Length; i++) { var singleprivileges = role.privileges[i]; RoleCommand += "{" + singleprivileges.resource.GetJsCode() + "," + Action.GetActionListJs(singleprivileges.actions) + "}" + ((i == role.privileges.Length - 1) ? "" : ",") + System.Environment.NewLine; } RoleCommand += " ],"; // RoleCommand += "}" + System.Environment.NewLine; RoleCommand += ")"; doc.Code = RoleCommand; BsonValue result; try { result = mongoDb.Eval(doc); } catch (MongoCommandException ex) { result = ex.CommandResult.Response; } return result; }
/// <summary> /// Get current system date time /// </summary> /// <returns></returns> public DateTime GetSysDateTime() { return(_MongoDatabase.Eval("new Date()", null).AsDateTime); }
public static BsonValue zEval(this MongoDatabase database, EvalArgs evalArgs) { MongoLog.CurrentMongoLog.LogEval(database, evalArgs); return(MongoLog.CurrentMongoLog.ExecuteAndLogResult(() => database.Eval(evalArgs))); }
/// <summary> /// GetRole /// </summary> /// <param name="mongoDb"></param> /// <param name="roleName"></param> /// <returns></returns> public static BsonDocument GetRole(MongoDatabase mongoDb, string roleName) { var doc = new EvalArgs(); doc.Code = "db.getRole('" + roleName + "',{showPrivileges:true})"; return mongoDb.Eval(doc).AsBsonDocument; }
public BsonValue Eval(EvalFlags flags, BsonJavaScript code, object[] args) { return(_mongoDatabase.Eval(flags, code, args)); }