一、MongoDB

1、简介

MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
在高负载的情况下,添加更多的节点(分布式),可以保证服务器性能。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

2、MongoDB数据结构

MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB将数据存储为一个文档,数据结构由键值(Key=>value)对组成。字段值可以包含其他文档、数组及文档数组。例如:

3、MongoDB的特点

MongoDB面向文档存储,操作起来比较简单和容易。
你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
如果负载增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
MongoDb 使用update()命令可以实现替换完整的文档(数据)或者一些指定的数据字段 。
Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
MongoDB安装简单。

4、在Windows平台上安装MongoDB数据库

下载MongoDB安装文件

MongoDB提供了可用于32位和64位系统的预编译二进制包,可以直接从MongoDB的官网下载安装文件,官网地址:
https://www.mongodb.com/download-center#community

注意:在32位的操作系统上面,MongoDB的数据库最大为2GB。

步骤1:选中并双击安装文件,选择“next”进行安装:

步骤2:选择同意,并点击“Next”,进入下一步:

步骤3:选择Custom选项自定义安装路径,点击"Next":

步骤4:选择安装盘并安装,这里选择安装到D:\MongoDB目录下:

步骤5:点击“Install”按钮进行安装:

步骤6:点击“Finish”按钮完成安装:

步骤7:创建数据库文件的存放位置

启动MongoDB服务之前必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。这里把数据库文件存放到:D:\MongoDB\data\dbFile目录下面。

步骤8:检查端口是否被占用

MongoDB默认使用27017端口,可以通过浏览网页的形式或者使用Telnet命令检查端口是否被占用。

8.1、浏览网页的形式

在浏览器的地址栏中输入:localhost:27017进行查看,如果出现下面的情况,说明端口正常:

8.2、使用Telnet命令

在命令行窗口中输入:telnet 127.0.0.1 27017:

然后直接回车,出现如下面所示的情况,说明端口正常:

步骤9:创建日志文件

在D:\MongoDB\data下新建文件夹log(存放日志文件)并且新建文件mongodb.log。在D:\MongoDB目录下新建mongo.config配置文件,配置文件内容如下:

步骤10:把mongo设置为Windows服务,这样每次开机的时候自启动:

在命令行里面进入bin目录下面,执行下面的命令:mongod --config D:\MongoDB\mongo.config --install --serviceName "MongoDB"

注意:如果是win7以上的操作系统,需要以管理员的身份打开命令行,然后在执行上面的命令,否则会报权限不足的错误,如果安装没有成功,可以查看创建的日志文件,日志文件会记录安装的错误信息。

步骤11:查看服务

在运行里面输入:services.msc命令,可以直接打开服务,然后在服务里面可以看到刚才安装的MongoDB服务,有时可能需要手动启动服务:

点击左上角的启动,就可以启动MongoDB服务了,这样在每次开机的时候,MongoDB就会自动启动了。

MongoDB服务启动以后,找到D:\MongoDB\bin\mongo.exe可执行文件,双击该文件,出现如下界面,就可以使用mongodb了:

输入:show dbs命令,可以查看当前已创建的数据库:

默认安装了admin和local两个数据库。

MongoDB(二):MongoDB简介及安装的更多相关文章

  1. MongoDB数据库的简介及安装

    一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自“humongous”,是一种开源的文档数据库──No ...

  2. 【MongoDB系列】简介、安装、基本操作命令

    文章内容概述: 1.MongoDB介绍 2.MongoDB安装(windows及Linux) 3.MongoDB基本操作命令 MongoDB介绍: MongoDB 是一个基于分布式文件存储的数据库.由 ...

  3. MongoDB (二) MongoDB 优点

    任何关系型数据库,具有典型的架构设计,显示表和这些表之间的关系.虽然在 MongoDB中,没有什么关系的概念. MongoDB比RDBMS的优势 架构:MongoDB是文档型数据库,其中一个集合保存不 ...

  4. MongoDB数据库简介及安装

    一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源 ...

  5. MongoDB入门学习笔记之简介与安装配置

    一.MongoDB简介 1.文档数据库 MongoDB是一款开源的文档型非关系数据库,具有高性能.高可靠性和自动扩展等特点.MongoDB中的每一条记录是一个文档,其数据存储结构为键/值对,类似JSO ...

  6. MongoDB学习【一】—MongoDB简介和安装

    一.MongoDB简介 1.MongoDB是什么 MongoDB是一款强大.灵活.且易于扩展的通用型数据库,MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的 ...

  7. MongoDB学习笔记-01 简介、安装

    MongoDB简介 MongoDB是一种强大.灵活.可拓展的存储方式.是一个面向文档(相当于"行"的概念)的数据库. 可拓展:通过添加服务器而增加存储量. Windows下安装 版 ...

  8. MongoDB之二基础入门(安装启动)

    mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一. 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了 ...

  9. MongoDB(二)——安装配置了解

    前边介绍了MongoDB的大概理论知识,这篇来对MongoDB进行一下安装使用,支持安装在windows和linux上,当然了很多其它情况下我们是安装在linux上,由于毕竟server用linux的 ...

随机推荐

  1. 【转】四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps

    最近在找降维的解决方案中,发现了下面的思路,后面可以按照这思路进行尝试下: 链接:http://www.36dsj.com/archives/26723 引言 机器学习领域中所谓的降维就是指采用某种映 ...

  2. UNIX网络编程读书笔记:图解TCP端口号和并发服务器

               图1 TCP服务器在端口21上执行被动打开                                                          图2 客户对服务器的 ...

  3. Linux 监测 常用测试工具

    fio [global]bs=16kdirect=1rw=readioengine=libaioiodepth=6write_bw_logruntime=60[test]filename=/data/ ...

  4. Nginx如何保留真实IP和获取前端IP

    原理: squid,varnish以及nginx等,在做反向代理的时候,因为要代替客户端去访问服务器,所以,当请求包经过反向代理后,在代理服务器这里这个IP数据包的IP包头做了修改,最终后端web服务 ...

  5. jquery插件制作教程 txtHover(转载)

    http://www.jb51.net/article/31082.htm 该系列文章是我阅读<jQuery Plugin Development Beginner's Guide>后的总 ...

  6. 【微信公众号】微信关于网页授权access_token和普通access_token的区别及两种不同方式授权

    微信官网网址:https://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html#.E9.99.84.EF.BC.9A.E6. ...

  7. PHP-Windows下搭建Nginx+PHP环境

    项目中光用Nginx了, 由于有运维人员, 很少搭建Nginx服务器, 开发也就用用Apache, 搭过几次Nginx也忘的快, 每次都去翻别人博客, 今天重搭特此记录, 装前最好了解下FastCGI ...

  8. vmware-Binary translation is incompatible with long mode on this platform

    解决方法:Binary translation is incompatible with long mode on this platform. Disabling long mode. Withou ...

  9. unity, SkinnedMeshRenderer.bones[i]不能直接赋值

    SkinnedMeshRenderer.bones[i]=xxx,这样写不报错,但也不起作用. 正确的方法是: List<Transform> boneList=new List<T ...

  10. unity, editorWindow lose data when enter play mode

    我写了个editorWindow,其中有个成员变量m_x,在创建editorWindow的时候为m_x赋的值,而在editorWindow的OnGUI里把m_x显示出来. 当我开着这个editorWi ...