Mongo

一、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:\MongoDB\data
  配置成功后会看到如下画面:
  在浏览器输入:http://localhost:27017/,可以看到如下提示:
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

 

posted @ 2015-01-19 18:51  廖先生  阅读(444)  评论(0编辑  收藏  举报