什么是MongoDB

  MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

  在高负载的情况下,添加更多的节点,可以保证服务器性能。

  MongoDB 旨在为应用提供可扩展的高性能数据存储解决方案。

  MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。

  MongoDB 文档(BSON)类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

  

MongoDB的特点

  1. MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。

  2. 你可以在MongoDB记录中设置任何属性的索引来实现更快的排序。

  3. 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。

  4. 如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上这就是所谓的分片。

  5. MongoDB支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

  6. MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。

  7. MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

  8. 安装简单。

  9. 其它。

MongoDB监控工具

  MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中。

  Gangila是MongoDB高性能的系统监视的工具,它作为一个插件应用于MongoDB中。

  基于图形界面的开源工具Cacti, 用于查看CPU负载, 网络带宽利用率,它也提供了一个应用于监控MongoDB的插件。

MongoDB图形用户界面(GUI)工具

   1. Fang of Mongo – 网页式,由Django和jQuery所构成。

    2. Futon4Mongo – 一个CouchDB Futon web的mongodb山寨版。

  3. Mongo3 – Ruby写成。

  4. MongoHub – 适用于OSX的应用程序。

  5. Opricot – 一个基于浏览器的MongoDB控制台, 由PHP撰写而成。

  6. Database Master – Windows的mongodb管理工具。

  7. RockMongo – 最好的PHP语言的MongoDB管理工具,轻量级, 支持多国语言。  

   8. Robomongo – 一个基于 Shell 的跨平台开源 MongoDB 管理工具(个人推荐)。

下载MongoDB

  下载地址:http://www.mongodb.org/downloads

  这里是在windows平台下安装MongoDB,MongoDB还支持其他平台,如OSX,Linux,Solaris等。

  使用的版本是2.6。因为2.6是我最熟悉的版本,并且我使用的GUI工具Robomongo目前还不支持3.0版本。

   

  下载后,按提示进行安装。

  

准备配置文件及存放目录

配置文件mongod.cfg:

dbpath=C:\MongoDB\data
logpath=C:\MongoDB\log\mongo.log
logappend=true
directoryperdb=true
#auth=true

注1:#号表示注释,这里我们不使用用户验证。

注2:请确保文件中指定的目录存在。

配置文件参数说明:

参数

描述

--dbpath

数据文件路径

--logpath

日志文件路径

--port

端口号,默认是27017

--logappend

日志文件循环使用,如果日志文件已满,那么新日志覆盖最久日志

--directoryperdb

设置每个数据库将被保存在一个单独的目录

--auth

用户认证,默认false。不需要认证。当设置为true时候,进入数据库需要auth验证,当数据库里没有用户,则不需要验证也可以操作。直到创建了第一个用户,之后操作都需要验证。

--replSet

集群的名字,如果使用集群,则每个节点都要设置相同名字

安装/卸载MongoDB服务

  安装:以管理员身份运行CMD,执行以下指令:

  sc create MongoDB binPath= "C:\Program Files\MongoDB 2.6 Standard Legacy\bin\mongod.exe --config=C:\MongoDB\mongod.cfg --service"

  其中,binPath是MongoDB安装目录bin中的mongod.exe,--config是上面提到的配置文件。

  卸载:以管理员身份运行CMD,执行以下指令:

  C:\Program Files\MongoDB 2.6 Standard Legacy\bin mongod.exe --remove --serviceName "MongoDB"

  

  启动服务:

  

安装Robomongo

  先下载RoboMongo,然后按提示进行安装,下载地址:https://www.robomongo.org/download

  

  打开RoboMongo:

  

  点击Create,创建一个连接:

  

  创建一个数据库:

  

  在新建的库中执行脚本,右键新建的库,点击“Open Shell”,输入ObjectId()获取一个ObjectId:

  

  

  执行脚本,往库里插入数据:

  

  

  双击Country,查看新增的数据:

  

  切换查看视图:

  

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

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

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

  2. nginx高性能WEB服务器系列之一简介及安装

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

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

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

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

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

  5. [转载]【虚拟化系列】VMware vSphere 5.1 简介与安装

    转载自:http://mabofeng.blog.51cto.com/2661587/1017680 一. VMware vSphere 5.1简介           vSphere是VMware推 ...

  6. windows下mongodb基础玩法系列一介绍与安装

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  7. Redis系列(一):Redis的简介与安装

    原文链接(转载请注明出处):Redis系列(一):Redis的简介与安装 什么是 Redis Redis 是一个使用ANSI C 编写的开源.支持网络协议.基于内存.可选持久性的键值对数据库,它是一个 ...

  8. 【虚拟化系列】VMware vSphere 5.1 简介与安装

    一. VMware vSphere 5.1简介           vSphere是VMware推出的基于云计算的新一代数据中心虚拟化套件,提供了虚拟化基础架构.高可用性.集中管理.监控等一整套解决方 ...

  9. MongoDB(二):MongoDB简介及安装

    一.MongoDB 1.简介 MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.旨在为WEB应用提供可扩展的高性能数据存储解决方案.在高负载的情况下,添加更多的节点(分布式 ...

  10. Jenkins持续集成企业实战系列之Jenkins持续集成简介及安装-----02

    1.      Jenkins持续集成简介 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求, ...

随机推荐

  1. CSS float 浮动属性

    本篇主要介绍float属性:定义元素朝哪个方向浮动. 目录: 1. 页面布局方式:介绍文档流.浮动层以及float属性. 2. float:left :介绍float为 left 时的布局方式. 3. ...

  2. Android之常见问题集锦Ⅱ

    Android问题集锦Ⅰ:http://www.cnblogs.com/AndroidJotting/p/4608025.html EditText输入内容改变事件监听 _edit.addTextCh ...

  3. 多线程条件通行工具——AbstractQueuedSynchronizer

    本文原创,转载请注明出处! 参考文章: <"JUC锁"03之 公平锁(一)> <"JUC锁"03之 公平锁(二)> AbstractOw ...

  4. # PHP - 使用PHPMailer发邮件

    PHPMailer支持多种邮件发送方式,使用起来非常简单 1.下载PHPMailer https://github.com/PHPMailer/PHPMailer,下载完成加压后, 把下边的两个文件复 ...

  5. node中的Stream-Readable和Writeable解读

    在node中,只要涉及到文件IO的场景一般都会涉及到一个类-Stream.Stream是对IO设备的抽象表示,其在JAVA中也有涉及,主要体现在四个类-InputStream.Reader.Outpu ...

  6. 【项目管理】GitHub使用操作指南

    GitHub使用操作指南 作者:白宁超 2016年10月5日18:51:03> 摘要:GitHub的是版本控制和协作代码托管平台,它可以让你和其他人的项目从任何地方合作.相对于CVS和SVN的联 ...

  7. ABAP单元测试最佳实践

    本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...

  8. Android 旋转屏幕--处理Activity与AsyncTask的最佳解决方案

    一.概述 运行时变更就是设备在运行时发生变化(例如屏幕旋转.键盘可用性及语言).发生这些变化,Android会重启Activity,这时就需要保存activity的状态及与activity相关的任务, ...

  9. 从is(":checked")说起

    *此文所用jQuery版本应大于1.6.1   如何判断一个单选(复选)框是否选中. 对于刚接触jQuery的人,第一反应必然是. <input id="checkbox1" ...

  10. Redux初见

    说到redux可能我们都先知道了react,但我发现,关于react相关的学习资料很多,也有各种各样的种类,但是关于redux简单易懂的资料却比较少. 这里记录一下自己的学习理解,希望可以简洁易懂,入 ...