Mongo C# 操作(元素 数组 )

来源:互联网 发布:中国软件杯官网 编辑:程序博客网 时间:2024/05/23 01:56

先看下我的Bson结构:

{
  "_id" : ObjectId("56e2642e6f29584fa01d02be"),
  "deviceId" : "25a3928850c31fffbb470fb18d082c42191d9eb3",
  "avatarName" : "CCC",
  "avatarIndex" : 2,
  "avatarLevel" : 1,
  "avatarCreateTime" : "2016/3/11 14:22:38",
  "economy" : {
    "glod" : -2236
  },
  "friend" : [["Q1Q"], ["23EE#"]],
  "message" : {
    "QQQ" : [{
        "content" : "你大爷的?",
        "sendTime" : ISODate("2016-03-15T02:23:27.743Z")
      }, {
        "content" : "你大爷的?",
        "sendTime" : ISODate("2016-03-15T02:23:32.706Z")
      }]
  }
}

具体操作如下,

   

        #region //设备登录信息        /// <summary>        /// 设备登录服务器  插入时间        /// </summary>        /// <param name="deviceId">设备ID</param>        /// <param name="devicename">设备类型</param>        /// <returns></returns>        public bool DeviceLogin(string deviceId, string devicename)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery device = Query.EQ("deviceID", deviceId);                 BsonDocument bson = mongoCollection.FindOne(device);                if (bson == null)                {                    BsonArray loginDetail = new BsonArray { DateTime.Now.ToString() };                    BsonDocument doc = new BsonDocument();                    doc.Add("deviceID", deviceId);                    doc.Add("deviceType", devicename);                    doc.Add("registerTime", DateTime.Now.ToString());                    doc.Add("LoginCount", 1);                    doc.Add("loginDetail", loginDetail);                    Console.WriteLine("{0}: 创建设备账号! 设备ID :{1},  机型 :{2} ", collectionName, deviceId, devicename);                    return mongoCollection.Insert(doc).Ok;                }                else                {                    IMongoQuery query = Query.EQ("deviceID", deviceId);                    UpdateDocument update = new UpdateDocument { { "$inc",  new QueryDocument{ {"LoginCount", 1 } } },                                                                 { "$addToSet", new QueryDocument{  { "loginDetail", DateTime.Now.ToString() } } }                                                                 };                    Console.WriteLine("{0}: 登录设备账号! 设备ID :{1},  机型 :{2} ", collectionName, deviceId, devicename);                    return mongoCollection.Update(query, update).Ok;                }            }            catch (Exception e)            {                stateMessage = e.ToString();                Console.WriteLine("数据库操作错误! 集合名称{0}", collectionName);                Console.WriteLine( stateMessage );                return false;            }        }        /// <summary>        /// 设置玩家等级        /// </summary>        /// <param name="avatarName"></param>        /// <param name="level"></param>        /// <returns></returns>        public bool UpdateAvatarLevel(string avatarName, int level)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery query = Query.EQ("avatarName", avatarName);                UpdateDocument update = new UpdateDocument { { "$inc", new QueryDocument { { "avatarLevel", level } } } };                if (mongoCollection.Update(query, update).Ok)                {                    Console.WriteLine("{0}角色:{1},设置角色等级成功 ", collectionName, avatarName);                    return true;                }                else                {                    Console.WriteLine("{0}角色:{1},设置角色等级失败 ", collectionName, avatarName);                    return false;                }            }            catch (Exception e)            {                Console.WriteLine("{0}角色:{1},设置角色等级异常, ErrorMessage:{3} ", collectionName, avatarName, e.ToString());                stateMessage = e.ToString();            }            return false;        }        #endregion        #region//玩家具体信息        /// <summary>        /// 创建玩家角色        /// </summary>        /// <param name="deviceId">设备ID</param>        /// <param name="avatarName">角色昵称</param>        /// <param name="avatarIndex">角色ID</param>        /// <param name="avatrLevel">角色等级</param>        /// <returns></returns>        public bool CreateAvatr(string deviceId, string avatarName, byte avatarIndex, short avatrLevel)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery device = Query.EQ("avatarName", avatarName);                BsonDocument bson = mongoCollection.FindOne(device);                if (bson == null)                {                    BsonDocument doc = new BsonDocument();                    doc.Add("deviceId", deviceId);                    doc.Add("avatarName", avatarName);                    doc.Add("avatarIndex", avatarIndex);                    doc.Add("avatarLevel", avatrLevel);                    doc.Add("avatarCreateTime", DateTime.Now.ToString());                    Console.WriteLine("{0}:设备:{1},创建角色:昵称:{2},索引:{3},等级:{4} ", collectionName, deviceId, avatarName, avatarIndex, avatrLevel);                    return mongoCollection.Insert(doc).Ok;                }                else                {                    Console.WriteLine("{0}:设备:{1},创建角色失败:昵称:{2},索引:{3},等级:{4}, ErrorMessage:{5} ", collectionName, deviceId, avatarName, avatarIndex, avatrLevel, "昵称已经存在");                    stateMessage = "昵称已经存在";                    return false;                }            }            catch (Exception e)            {                Console.WriteLine("{0}:设备:{1},创建角色异常:昵称:{2},索引:{3},等级:{4}, ErrorMessage:{5} ", collectionName, deviceId, avatarName, avatarIndex, avatrLevel, e.ToString());                stateMessage = e.ToString();                return false;            }        }        // <summary>        // 返回角色列表        // </summary>        // <param name="deviceId"></param>        // <returns></returns>        public List<Avatars> GetAvatarList(string deviceId)        {             List<Avatars> avatarlist = new List<Avatars>();            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery query = Query.EQ("deviceId", deviceId);                FieldsDocument fddoc = new FieldsDocument();                fddoc.Add("avatarName", 1);                fddoc.Add("avatarIndex", 1);                fddoc.Add("avatarLevel", 1);                MongoCursor<BsonDocument> doc = mongoCollection.Find(query).SetFields(fddoc);                foreach (BsonDocument bs in doc)                {                    Avatars avatar = new Avatars();                    if (bs.Contains("avatarName"))                        avatar.avatarName = (string)bs["avatarName"];                    if (bs.Contains("avatarIndex"))                        avatar.avatarIndex = (Byte)bs["avatarIndex"];                    if (bs.Contains("avatarLevel"))                        avatar.avatarLevel = (short)bs["avatarLevel"];                    avatarlist.Add(avatar);                }                Console.WriteLine("{0}设备:{1},返回角色列表, 角色个数{2} ", collectionName, deviceId, avatarlist.Count);            }            catch (Exception e)            {                Console.WriteLine("{0}设备:{1},返回角色列表异常, ErrorMessage:{3} ", collectionName, deviceId, e.ToString());                stateMessage = e.ToString();            }            return avatarlist;        }        #endregion        #region //角色任务        /// <summary>        /// 获取玩家的任务        /// </summary>        /// <param name="avatarName"></param>        /// <returns></returns>        public List<TaskDetail> GetAvatarTask(string avatarName)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            List<TaskDetail> taskDetail = new List<TaskDetail>();            try            {                //IMongoQuery query = Query.EQ("avatarName", avatarName);                IMongoQuery query = Query.And(Query.EQ("avatarName", avatarName), Query.Exists("task"));                BsonArray bson = mongoCollection.FindOne(query)["task"].AsBsonArray;                if ( bson != null)                {                    foreach (BsonDocument bdoc in bson)                    {                        TaskDetail task = new TaskDetail();                        if (bdoc.Contains("taskType"))                            task.taskType = ((Byte)bdoc["taskType"]);                        if (bdoc.Contains("taskID"))                            task.taskID = (Byte)bdoc["taskID"];                        if (bdoc.Contains("taskState"))                            task.taskState = ((Byte)bdoc["taskState"]);                        if (bdoc.Contains("lastTime"))                            task.lastTime = bdoc["lastTime"].AsDateTime;                        taskDetail.Add(task);                    }                }                Console.WriteLine("{0}角色:{1},返回角色任务列表,个数为{2} ", collectionName, avatarName, taskDetail.Count);            }            catch (Exception e)            {                //Console.WriteLine("{0}角色:{1},返回角色任务列表异常, ErrorMessage:{3} ", collectionName, avatarName, e.ToString());                stateMessage = e.ToString();                Console.WriteLine( stateMessage );            }            return taskDetail;        }        /// <summary>        /// 删除一个角色        /// </summary>        /// <param name="avatartName"></param>        /// <returns></returns>        public bool RemoveAvatar(string avatartName)        {            List<Avatars> avatarlist = new List<Avatars>();            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery query = Query.EQ("avatarName", avatartName);                if (mongoCollection.Remove(query).Ok)                {                    Console.WriteLine("{0}设备:{1},删除角色列表成功 ", collectionName, avatartName);                    return true;                }                else                {                    Console.WriteLine("{0}设备:{1},删除角色列表失败 ", collectionName, avatartName);                    return false;                }            }            catch (Exception e)            {                 Console.WriteLine("{0}设备:{1},删除角色列表异常, ErrorMessage:{3} ", collectionName, avatartName, e.ToString());                stateMessage = e.ToString();                return false;            }        }        public bool SetAvatarTask(string avatarName, TaskDetail task)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                BsonDocument doc = new BsonDocument();                doc.Add("taskID",    task.taskID);                doc.Add("taskType",  task.taskType);                doc.Add("taskState", task.taskState);                doc.Add("lastTime",  task.lastTime);                 IMongoQuery query = Query.EQ("avatarName", avatarName);                UpdateDocument update = new UpdateDocument { { "$addToSet", new QueryDocument { { "task", doc } } } };                Console.WriteLine("{0}: 设置任务成功! 角色名称 avatarName:{1} 任务类型 task.taskType:{2} ", collectionName, avatarName, task.taskType);                return mongoCollection.Update(query, update).Ok;            }            catch (Exception e)            {                stateMessage = e.ToString();                Console.WriteLine("数据库操作错误! 集合名称{0}", collectionName);                return false;            }        }        public bool UpdateAvatarTask(string avatarName, TaskDetail task)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            //mongoServer.RequestStart( mongoDatabase );            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                BsonDocument doc = new BsonDocument();                doc.Add("taskID", task.taskID);                doc.Add("taskType", task.taskType);                doc.Add("taskState", task.taskState);                doc.Add("lastTime", task.lastTime);                //IMongoQuery query =  Query.EQ( "avatarName", avatarName );                IMongoQuery query = Query.And( Query.EQ("avatarName", avatarName), Query.EQ("task.taskID", task.taskID ));                QueryDocument queryDoc = new QueryDocument { { "avatarName", avatarName }, { "task.taskID", task.taskID } };                //UpdateDocument update = new UpdateDocument { { "$set",  new QueryDocument { {  "task.$.taskState", task.taskState  } } },                                                                              //                                            };                //UpdateDocument update = new UpdateDocument { { "$set",  new QueryDocument { {  "task.$.taskType", task.taskType  } } },                //                                                        new QueryDocument { {  "task.$.taskState", task.taskState  } } ,                //                                                        new QueryDocument { {  "task.$.lastTime",  task.lastTime  } } ,                //                 UpdateDocument updates = new UpdateDocument();                updates.Add("task.$.taskType",  task.taskType);                updates.Add("task.$.taskState", task.taskState);                updates.Add("task.$.lastTime",  task.lastTime);                UpdateDocument update = new UpdateDocument { { "$set", updates }};                              // mongoServer.RequestDone();                if (mongoCollection.Update(query, update).Ok)                {                    Console.WriteLine("{0}: 设置任务成功!  任务类型 task.taskType:{1} ", collectionName, task.taskType);                    return true ;                }                else                {                    Console.WriteLine("{0}: 设置任务失败!  任务类型 task.taskType:{1} ", collectionName, task.taskType);                    return true;                }                           }            catch (Exception e)            {                stateMessage = e.ToString();                Console.WriteLine("数据库操作错误! 集合名称{0}", collectionName);                Console.WriteLine(stateMessage);               // mongoServer.RequestDone();                return false;            }                   }        #endregion        #region//经济系统        /// <summary>        /// 获取经济系统数据        /// </summary>        /// <param name="name"></param>        /// <returns></returns>        public Economy GetEconomy(string avatarName)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            Economy economy = new Economy();            try            {                IMongoQuery query = Query.And(Query.EQ("avatarName", avatarName), Query.Exists("economy"));                BsonDocument doc = mongoCollection.FindOne(query)["economy"].AsBsonDocument;                if (doc != null)                {                    if (doc.Contains("glod"))                        economy.glod = (int)doc["glod"].AsInt32;                    if (doc.Contains("glodTotal"))                        economy.glodTotal = (int)doc["glodTotal"].AsInt32;                    if (doc.Contains("silver"))                        economy.silver = (int)doc["silver"].AsInt32;                    if (doc.Contains("silverTotal"))                        economy.silverTotal = (int)doc["silverTotal"].AsInt32;                    return economy;                 }               Console.WriteLine("{0}角色:{1},返回经济系统 ", collectionName, avatarName);            }            catch (Exception e)            {                //                stateMessage = e.ToString();                Console.WriteLine("{0}角色:{1},返回经济系统异常, ErrorMessage:{3} ", collectionName, avatarName, stateMessage);            }            return null;        }        /// <summary>        /// 设置经济系统数据        /// </summary>        /// <param name="name"></param>        /// <param name="economy"></param>        /// <returns></returns>        public bool SetEconomy(string avatarName, Economy economy)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                BsonDocument doc = new BsonDocument();                doc.Add("glod", economy.glod);                doc.Add("glodTotal", economy.glodTotal);                doc.Add("silver", economy.silver);                doc.Add("silverTotal", economy.silverTotal);                IMongoQuery query = Query.EQ("avatarName", avatarName);                UpdateDocument update = new UpdateDocument { { "$set", new QueryDocument { { "economy", doc } } } };                         if ( mongoCollection.Update(query, update).Ok  )                {                  Console.WriteLine("{0}角色:{1},设置经济系统成功 ", collectionName, avatarName);                  return true;                }else                {                  Console.WriteLine("{0}角色:{1},设置经济系统失败 ", collectionName, avatarName);                  return false;                }                             }            catch (Exception e)            {                Console.WriteLine("{0}角色:{1},返回经济系统异常, ErrorMessage:{3} ", collectionName, avatarName, e.ToString());                stateMessage = e.ToString();                return false;            }                   }        /// <summary>        /// 消耗充值金币        /// </summary>        /// <param name="avatarName"></param>        /// <param name="count"></param>        /// <returns></returns>        public bool ExpendEconomy( string avatarName, int count )        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery query = Query.EQ("avatarName", avatarName);                BsonDocument doc = new BsonDocument();                doc.Add();                UpdateDocument update = new UpdateDocument { { "$inc", new QueryDocument { { "economy.glod", count } } } };                if (mongoCollection.Update(query, update).Ok)                {                    Console.WriteLine("{0}角色:{1},设置经济系统成功 ", collectionName, avatarName);                    return true;                }                else                 {                    Console.WriteLine("{0}角色:{1},设置经济系统失败 ", collectionName, avatarName);                    return false;                }            }            catch (Exception e)            {                Console.WriteLine("{0}角色:{1},返回经济系统异常, ErrorMessage:{3} ", collectionName, avatarName, e.ToString());                stateMessage = e.ToString();            }            return false;        }        #endregion        #region//好友系统        /// <summary>        /// 获取好友列表        /// </summary>        /// <param name="avatarName">获取好友列表</param>        /// <returns>玩家数组</returns>        public string[] GetFriendList(string avatarName)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            List<string> friend = new List<string>();            try            {                IMongoQuery query = Query.And(Query.EQ("avatarName", avatarName), Query.Exists("friend"));                BsonArray doc = mongoCollection.FindOne(query)["friend"].AsBsonArray;                Console.WriteLine( doc.Count );                if (doc != null)                {                    string[] friendName = new string[doc.Count];                    for (int i = 0; i < doc.Count; i ++ )                    {                        friendName[i] = doc[i].ToString();                    }                    return friendName;                }                return null;            }            catch (Exception e)            {                //                stateMessage = e.ToString();                //Console.WriteLine("{0}角色:{1},返回经济系统异常, ErrorMessage:{3} ", collectionName, avatarName, stateMessage);            }            return null;        }        /// <summary>        /// 添加好友        /// </summary>        /// <param name="friend"></param>        /// <param name="avatarName"></param>        /// <returns></returns>        public bool AddFriend(string friend, string avatarName)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery query = Query.EQ("avatarName", avatarName) ;                BsonArray friendArray = new BsonArray();                friendArray.Add( friend );                UpdateDocument update = new UpdateDocument { { "$addToSet", new QueryDocument { { "friend", friendArray } } } };                if (mongoCollection.Update(query, update).Ok)                {                    Console.WriteLine("{0}角色:{1},添加好友成功 ", collectionName, avatarName);                    return true;                }                else                {                    Console.WriteLine("{0}角色:{1},添加好友失败 ", collectionName, avatarName);                    return false;                }            }            catch (Exception e)            {                stateMessage = e.ToString();                Console.WriteLine("{0}角色:{1},添加好友异常, ErrorMessage:{3} ", collectionName, avatarName, stateMessage);            }            return false;        }        /// <summary>        /// 删除好友        /// </summary>        /// <param name="friendName"></param>        /// <param name="tagName"></param>        /// <returns></returns>        public bool RemoveFriend(string friend, string avatarName)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery query = Query.And(Query.EQ("avatarName", avatarName), Query.Exists("friend"));                BsonArray friendArray = new BsonArray();                friendArray.Add(friend);                UpdateDocument update = new UpdateDocument { { "$pull", new QueryDocument { { "friend", friendArray } } } };                if (mongoCollection.Update(query, update).Ok)                {                    Console.WriteLine("{0}角色:{1},删除好友成功 ", collectionName, avatarName);                    return true;                }                else                {                    Console.WriteLine("{0}角色:{1},删除好友失败 ", collectionName, avatarName);                    return false;                }            }            catch (Exception e)            {                stateMessage = e.ToString();                Console.WriteLine("{0}角色:{1},删除好友异常, ErrorMessage:{3} ", collectionName, avatarName, stateMessage);            }            return false;        }        #endregion        #region//离线消息        /// <summary>        /// 获取玩家离线消息 并且清空消息队列        /// </summary>        /// <param name="avatarName"></param>        /// <returns></returns>        public Dictionary<string, List<Message>> GetOffLineMessage(string avatarName)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            Dictionary<string, List<Message>> msgDict = new Dictionary<string, List<Message>>();                        try            {                IMongoQuery query = Query.And(Query.EQ("avatarName", avatarName), Query.Exists("message"));                BsonDocument bson = mongoCollection.FindOne(query)["message"].AsBsonDocument;                if (bson != null)                {                    var bEle = bson.Elements;                    //List<BsonElement> bElea = (List<BsonElement>) bson.Elements;                    Console.WriteLine(bEle.GetType());                    foreach (BsonElement bdoc in bEle)                    {                        string msgName = bdoc.Name;                        BsonArray doc = bdoc.ToBsonDocument()["Value"].AsBsonArray;                        List<Message> msgList = new List<Message>();                        foreach (BsonDocument docs in doc)                        {                            Message msg = new Message();                            msg.from = msgName;                            if (docs.Contains("content"))                                msg.content = docs["content"].ToString();                            if (docs.Contains("sendTime"))                                msg.sendTime = docs["sendTime"].AsDateTime;                            msgList.Add(msg);                        }                        msgDict.Add(msgName, msgList);                    }                    UpdateDocument update = new UpdateDocument { { "$unset", new QueryDocument{ {"message", ""} } } };                    mongoCollection.Update(query, update);                    return msgDict;                }                else                {                    return null;                }            }            catch (Exception e)            {                stateMessage = e.ToString();            }            return null;                  }        /// <summary>        /// 添加好友离线消息        /// </summary>        /// <param name="message"></param>        /// <returns></returns>        public bool AddOffLineMessage(string avatarName, Message message)        {            MongoClient mongoClient = new MongoClient(connection);            MongoServer mongoServer = mongoClient.GetServer();            MongoDatabase mongoDatabase = mongoServer.GetDatabase(databaseName);            MongoCollection<BsonDocument> mongoCollection = mongoDatabase.GetCollection(collectionName);            try            {                IMongoQuery query = Query.EQ("avatarName", avatarName);                BsonDocument doc = new BsonDocument();                doc.Add("content",  message.content );                doc.Add("sendTime", message.sendTime);                UpdateDocument update = new UpdateDocument { { "$addToSet", new QueryDocument { { "message." + message.from, doc } } } };                if (mongoCollection.Update(query, update).Ok)                {                    Console.WriteLine("{0}角色:{1},离线消息添加成功 ", collectionName, avatarName);                    return true;                }                else                {                    Console.WriteLine("{0}角色:{1},离线消息添加失败 ", collectionName, avatarName);                    return false;                }            }            catch (Exception e)            {                stateMessage = e.ToString();                Console.WriteLine("{0}角色:{1},添加离线消息添加异常, ErrorMessage:{3} ", collectionName, avatarName, stateMessage);            }            return false;        }        #endregion



 

0 0
原创粉丝点击