/// <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)); }
/// <summary> /// 当前对象的MONGO命令 /// </summary> /// <param name="mMongoCommand">命令对象</param> /// <returns></returns> public static CommandResult ExecuteMongoCommand(MongoCommand mMongoCommand) { var resultCommandList = new List <CommandResult>(); var mCommandResult = new CommandResult(new BsonDocument()); switch (mMongoCommand.RunLevel) { case EnumMgr.PathLevel.CollectionAndView: if (string.IsNullOrEmpty(mMongoCommand.CommandString)) { mCommandResult = ExecuteMongoColCommand(mMongoCommand.CmdDocument, RuntimeMongoDbContext.GetCurrentCollection()); } else { mCommandResult = ExecuteMongoColCommand(mMongoCommand.CommandString, RuntimeMongoDbContext.GetCurrentCollection()); } break; case EnumMgr.PathLevel.Database: if (string.IsNullOrEmpty(mMongoCommand.DatabaseName)) { mCommandResult = ExecuteMongoDBCommand(mMongoCommand.CmdDocument, RuntimeMongoDbContext.GetCurrentDataBase()); } else { var db = RuntimeMongoDbContext.GetCurrentClient().GetDatabase(mMongoCommand.DatabaseName); mCommandResult = ExecuteMongoDBCommand(mMongoCommand.CmdDocument, db); } break; case EnumMgr.PathLevel.Instance: mCommandResult = ExecuteMongoSvrCommand(mMongoCommand.CmdDocument, RuntimeMongoDbContext.GetCurrentServer()); break; } resultCommandList.Add(mCommandResult); return(mCommandResult); }