在MVC程序中使用MongoDB数据库

.net项目中混搭数据库

安装和部署

 C#中使用MongoDB

 MongoDb与关系型数据库区别

开机自启动

关系型数据库和非关系型数据口可以混搭

MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自“humongous”,是一种开源的文档数据库──NoSql数据库的一种。NoSql,全称是 Not Only Sql,指的是非关系型的数据库。

MongoDB是基于文档的数据库,持久的缓存

MongoDB中数据的基本单元称为文档(Document)。文档是MongoDB的核心概念,多个键极其关联的值有序的放置在一起便是文档。面向集合存储,集合没有行和列的限制,集合中只有一个文档,一个文档相当于一条记录,这体现了模式*的特点。

在使用MongoDB之前 不要求您事先创建好相应的数据库,设计数据表结构

部署和安装

1 下载MongoDB安装包,安装到服务器。官方地址,按照服务器类型选择相应的版本

安装包解压后有一组exe文件

Mongod.exe 是用来连接到mongo数据库服务器的,即服务器端。

Mongo.exe 是用来启动MongoDB shell的,即客户端。

2 创建数据库和日志存放目录

MongoDB的默认数据目录 是/data/db,负责存储所有的MongoDB的数据文件。

3 启动数据库,在计算机重启后还能启动,需要设置开机自启动(后边有单独介绍)

启动MongodbDB服务端

>cd /d D:\MongoDB\bin\

>mongod --dbpath D:\MongoDB\data

      浏览器查看MongoDB服务端

http://localhost:28017/

在MVC程序中使用MongoDB数据库

 

MongoDB使用mmap方式进行数据文件管理,也就是说写操作基本是在内存中进行,写操作会被每隔60秒(syncdelay设定)的flush到磁盘里。

--dbpath 是指定数据库的目录,存放MongoDB的数据库文件,用于启动mongod.exe服务

在MVC程序中使用MongoDB数据库

--port 指定端口 默认27017端口

在MVC程序中使用MongoDB数据库

打开mongodb.exe

在MVC程序中使用MongoDB数据库

--user databaseName 切换数据库,如果数据库不存在则创建数据库

创建collection

 --db.users.insert({'name':'xumingxiang','sex':'man'})

添加数据

 

  1. 在MVC程序中使用MongoDB数据库

 

 

 

----show dbs 显示所有数据库

 

4 查看MongoDB进程

5 关闭MongoDB进程

pkill

killall

使用MongoDB的客户端查看数据

C#中使用MongoDB 

驱动下载地址 

编译后得到两个Dll

MongoDB.Driver.dll:顾名思义,驱动程序

MongoDB.Bson.dll:序列化、Json相关

MongoDb与关系型数据库区别

      在MongoDB中,没有【表】的概念,取而代之的是【集合】,也没有【数据记录】的概念,取而代之的是【文档】, 我们可以把【文档】理解成一个【对象】

开机自启动

      添加windows服务

以管理员身份运行 cmd,执行语句:

切换到目录  D:\MongoDB\bin\

执行命令 mongod.exe --directoryperdb --logpath D:\MongoDB\log\MongoDB.log --logappend --serviceName MongoDB --install 

 

在MVC程序中使用MongoDB数据库

在MVC程序中使用MongoDB数据库

说明: --dbpath  设置数据库目录

        --directoryperdb  为每个数据库创建一个单独目录

               --logpath  设置日志文件目录

               --logappend  日志文件Append方式

               --serviceName  服务名称

               --install  安装 

            Mongodb的windows服务安装和卸载

不用 InstallUtil.exe,直接用mongod.exe做就可以:

安装:mongod --dbpath "D:\mongodb\db" --logpath "D:\mongodb\log.txt" --install --serviceName "MongoDB"

卸载:mongod.exe --remove --serviceName "MongoDB"


 

文档数据库如MongoDB的的主要目的是 提供更丰富的数据结构来抛弃Join来适应在线业务。弱化join操作。

参考

NoSql反模式

MongoDB实战开发 【零基础学习,附完整Asp.net示例】

http://www.cnblogs.com/libingql/archive/2011/06/13/2079438.html

MongoDB数据库简介及安装