一、MongoDB简介
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。
二、功能
功能:
- 面向集合的存储:适合存储对象及JSON形式的数据。
- 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
- 完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。
- 查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。
- 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。
- 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)
- 自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。
三、下载安装和配置
安装Mongo数据库:
在发布本文的时间官方提供的最新版本是:1.6.5 ,如果不做特殊声明,本教程所用的版本将会是这个版本。
- 第一步:下载安装包:http://www.mongodb.org/downloads 如果是win系统,注意是64位还是32位版本的,请选择正确的版本。
- 第二步:新建目录“D:MongoDB”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下。
- 第三步:在“D:MongoDB”目录下新建“data”文件夹,它将会作为数据存放的根文件夹。
配置Mongo服务端:
打开CMD窗口,按照如下方式输入命令:
> d:
> cd D:MongoDB
> mongod --dbpath D:MongoDBdata
> d:
> cd D:MongoDB
> mongod --dbpath D:MongoDBdata
配置成功后会看到如下画面:
在浏览器输入:http://localhost:27017/,可以看到如下提示:
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
如此,MongoDB数据库服务已经成功启动了。
三、通过C#进行数据添加,查询
using System; using System.Collections.Generic; using System.Linq; using System.Text; using MongoDB.Driver; using System.Configuration; using MongoDB.Driver.Builders; namespace MongoDbDemo { class Program { static void Main(string[] args) { string connStr = ConfigurationManager.AppSettings["MongoServerSettings"];//获取连接字符串 MongoServer _server = MongoServer.Create(connStr);//创建mongodb服务对应的对象 MongoDatabase _db = _server.GetDatabase("test");//获取数据库,如果没有,会自动创建一个 var collectionName = typeof(Customer).Name;//指定集合的名字 var collection = _db.GetCollection<Customer>(collectionName);//获取集合,如果集合不存在,那么直接创建一个 #region 添加实体 for (int i = 0; i < 100; i++) { Customer customer = new Customer();//创建实体 customer.CusId = i; customer.Name = "shit" + i; customer.Subtime = DateTime.Now; customer.Demo = "ddd"; if (i == 10) { customer.Demo = "sssss"; } customer.Shit = DateTime.Now.ToString(); collection.Insert(customer);//将数据插入到 集合里面去 } Console.WriteLine(collection.Count());//打印有多少条数据
四、可视化管理工具-- MongoVue
一、下载可视化管理工具进行安装,安装成功之后如图添加一个数据库
二、通过下图我们就可以看到,其实MongoDB存储数据就是存储的JSON数据,说白了就是一串字符串,只不过MongoVue对其进行了解析,变成了可视化的表格
Demo源文件下载
MongoDB官网下载地址:http://www.mongodb.org/downloads