前言:本人接触 Mongo 时间不长,以前用过Mysql 。现在遇到个新的项目,U3D 聊天室系统的制作,里面有好友系统,和离线消息,当然也包括用户名密码等等 斟酌了许久 感觉 Mysql 好像不太适合。后来发现 MongDB 非关系数据库 强大的灵活性 吸引了我。这对我的好友名单好友分组,还有离线消息 的添加和删除 都非常适合!,由于刚开始使用 遇到的坑 和大家分享下,在这里也是抛砖迎玉 各位大牛要是有更巧妙的方法 一起分享下


平台:VS 2013

服务器: 阿里云 winserver 2008

mongo版本: windows-64-2.6.10

在这里分享一套视频教程教程:链接:http://pan.baidu.com/s/14Xvcy 密码:q5bm   感谢教程的制作人给了我很大帮助。


1>.安装好数据库就该连接了。建立好用户名密码。在这里要是你的Mongo开启了验证 在你创建 库collectons 的时候记得给你的 加入你用户名的权限  完了记得 验证一下

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_MongoServer

2>都准备就绪了,可以打开VS 下载  mongodb driver for c#

http://docs.mongodb.org/ecosystem/drivers/csharp/

解压完成后有两个DLL :

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo_02


在你的项目中引用这两个DLL,在cs文件里导入 命名空间

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_MongoServer_03

在这里说明下我的Bson 数据格式

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo_04

比较简单的就不说了,麻烦点的就是  friend, 和Message, friend 是一个数组 里面存放的是 user 对应的好友,而 Message是一个对象 也就是 object, 里面对应的是 他的消息列表就是 AAA 发给user 的消息列表 。   看见他们的区别了吗 ?   数组是 [] ,而 对象是{}

qq群(

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo_05

)里一个叫 "Jash" 哥们 告诉我的。那天很晚了 感谢 Jash 对我的帮助

这下开始找资料呗, 对比较简单的 好搞 比方说修改玩家昵称直接可以这样

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_MongoServer_06

对于稍微难一点的 添加 friend

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo_07

还有移除好友

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo C#_08

取得好友列表

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo C#_09

数组操作完了 我门来操作 object 对象 就是 Message, 大家细看message

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_MongoClient_10

首先 Message 是这个 bson 的一个object元素 里面又包含两个字元素两个子元素是数组,而AAA的子元素也是数组

我们先来读这个数组 取得里面的消息  去玩消息要清空

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo C#_11

然后是添加离线好友消息,这里我 卡了好长时间,应为我实在没有找到直接操作Message子元素 的方法 只能先取出里面有的消息然后 添加新传出的消息 再覆盖掉 Meassge 感觉这样很不科学但是又找不到更好的方法。大家有好的方法了 共享出来一起学习哈

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo C#_12

mongodb for vscode 怎么信件数据库并连接 mongodb聊天数据库_Mongo_13

到此结束,希望给大家提供个思路。 具体实现方法不知道 有没有什么问题 。有改进的地方希望大吉提出来 一起学习!