[教程]MongoDB 从入门到进阶 (概要 以及 高级索引篇 TimeToLive
MongoDB概要 [关于MongoDB] 官方网站: MongoDB属于比较典型的NoSql数据库。和Relationship数据库相比,其数据属于文档结构。 最新版本的MongoDB为2.2.2 不支持WindowsXP [C#官方驱动程序] GitHub:https://github.com/mongodb/mongo-csharp-driver [管理工
MongoDB概要
[关于MongoDB]
官方网站:
MongoDB属于比较典型的NoSql数据库。和Relationship数据库相比,其数据属于文档结构。
最新版本的MongoDB为2.2.2 不支持WindowsXP
[C#官方驱动程序]
GitHub:https://github.com/mongodb/mongo-csharp-driver
[管理工具]
这里选用本人自制的可视化管理工具作为教程的演示工具。
大声呼吁:有兴趣的同志,加入这个工具的开发
下载地址:
GitHub: https://github.com/magicdict/MagicMongoDBTool
[建立第一个空数据库]
关于MongoDB的安装,香港服务器,已经有很多文章介绍了。
这里推荐CNBLOGS网友 百灵 的Mongodb之(初识如故)
安装这篇文章,应该可以正确安装MongoDB,其实就是下载和解压,完全绿色软件。
这个系列的教程,我将MongoDB解压到:C:\runmongo,可执行文件则都在C:\runmongo\bin下面。
新建一个MongoDB实例的方法很多,这里我新建了一个BAT文件,在BAT文件里面写了3句命令:
第一句:将执行目录切换到Mongo可执行目录
第二句:新建一个目录,MongoDB实例需要一个存放文件的目录,这里我选择新建一个C:\mongodb\magicdict 目录
第三句,则是新建一个MongoDB实例,同时,将MongoDB实例的侦听端口设置为 28030
关于MongoDB的启动参数,推荐 咫尺天涯的文章:mongodb启动参数
1 cd C:\runmongo\bin 2 mkdir C:\mongodb\magicdict 3 mongod --port 28030 --dbpath C:\mongodb\magicdict --rest
如果成功的话,将会有一个黑色的DOS控制台出现。当然,这个控制台只是日志输出,无法操作。你也可以将日志存放到一个文件里面。
这个时候去查看 C:\mongodb\magicdict,系统自动添加了一个 mongod.lock 锁文件。
接下来,启动可视化工具,看看数据库吧。
第一次启动时候,选择语言:
由于某些功能需要使用mongo的可执行文件,在可执行文件里面选择可执行文件路径
下面是连接管理界面,里面列出了所有现存的连接
单击添加按钮
由于是最简单的数据库,我们只需要填写 连接名称,主机,端口号即可。
连接名称:这个可以使任意字符,是便于用户记忆的。
主机:这里填写服务器的IP地址,这里使用 localhost 表示本机
端口:28030
这里你可以先使用 [测试] 按钮,检验一下设置是否正确。如果没有问题,则可以[添加]连接。
选中刚才建立的连接,按下[确定]按钮。则进入主界面。
界面左边的是当前连接(MongoDB实例)中所包含的数据库对象。当然,这个连接里面只是单纯的数据库。除了有一个系统自动生成的local数据库以外,什么都没有。
界面右边的是当前连接的状态信息。 关于这些状态信息,你可以参看官方的帮助文档:
一般来说,我们不会在local系统目录里面添加数据,一般都会新建一个数据库来保存用户数据。
当然,你可以 选中Connection节点,然后用主菜单或者右键菜单来 [新建数据库]。不过,这里将演示如何使用C#来创建数据库,添加数据。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using MongoDB.Driver; 6 using MongoDB.Bson; 7 using MongoDB.Driver.GridFS; 8 using MongoDB.Bson.Serialization.Attributes; MagicMongoDBTool.Module 11 { InitTestData 13 { User 15 { 16 [BsonId] 17 public String ID; )] 19 public String Name; 20 public Byte Age; 21 public Byte Age2; 22 public Byte Age3; 23 public Address address; 24 } Address 26 { 27 public String street; 28 public String City; 29 public String state; Zip; 31 32 } GeoObject 34 { 35 [BsonId] 36 public String ID; [] Geo; 38 } TLLObject 40 { 41 [BsonId] 42 public String ID; 43 public DateTime CreateDateTime; Game; 45 } FillDataForGeoObject(MongoServer mongosvr) 47 { ); ); 50 mongoCol.RemoveAll(); 51 Random Ro = new Random(); (int i = 0; i 1000