> 基本概念

MongoDB是一个基于分布式文件存储的开源数据库系统,皆在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值key=>value组成。文档类似JSON对象。字段值可以包含其他文档,数组及文档数组。

MongoDB数据库的几个基本概念:

1)一个 MongoDB 实例中,可以有零个或多个database(数据库)。

2)数据库中可以有零个或多个 collections (集合)。相当于传统关系数据库中table(表)。

3)集合是由零个或多个 documents (文档)组成。相当于传统关系数据库中table中的row。

4)文档是由零个或多个fields(字段)组成。相当于传统关系数据库中table中的columns。

需要了解更多关于MongoDB概念性的知识,可以到官网上去查阅。

> 下载Windows版本的MongoDB文件

MongoDB提供了可用于32位和64位系统的.msi文件和.zip文件,这里我下载32位系统的.zip文件。

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

这里我测试使用的是32位的版本,要注意的是32位系统上MongoDB数据库最大为2GB。

下载文件完成后解压缩,放到你需要的地方。我这里放到D:\MyProject\mongodb下,并且新建一个文件夹db,用来存放mongodb的数据。

> 启动MongoDB服务

运行cmd进入程序目录bin下,运行mongod启动命令,--dbpath指定数据保存目录。

这里需要注意的是,开启MongoDB服务后,命令行窗口不能关闭,一旦关闭,MongoDB服务也会相应关闭。因此,我们一般会将其改为Windows服务,并且设置为开机自动启动。

运行cmd进入程序目录bin下,运行以下命令。

参数说明:

--logpath    指定MongoDB日志文件,注意是文件不是目录。

--logappend    使用追加的方式记录日志。

--dbpath       指定数据库路径。

--directoryperdb     每个DB都会新建一个目录。

--serviceName     指定服务名称。

--serviceDisplayName    指定服务显示名称。

--install        指定为一个Windows服务安装。

运行以上命令出现错误如下:

根据错误提示32位系统需要加上--journal参数。

此时服务创建成功,但是却无法启动,查看日志显示

72 Requested option conflicts with current storage engine option for directoryPerDB;

you requested true but the current server storage is already set to false and cannot be changed, terminating

2016-09-18T10:16:08.366+0800 I CONTROL  [serviceStopWorker] dbexit:  rc: 49

提示表示当前server storage不能更改,需要去掉--directoryperdb参数。

此时服务成功启动。

以上是我创建Windows服务时遇到的一些错误和解决方法。

> MongoDB客户端连接

我们另外再开启一个cmd窗口,运行mongo命令打开shell,相当于mongodb的客户端。

我们看到客户端连接成功。

Windows平台下的安装和启动就到这里,下一篇我们将介绍MongoDB的一些基本操作命令。

MongoDB学习总结(一) —— Windows平台下安装的更多相关文章

  1. Windows 平台下安装Cygwin后,sshd服务无法启动

    Windows 平台下安装Cygwin后,sshd服务无法启动 系统日志记录信息: 事件 ID ( 0 )的描述(在资源( sshd )中)无法找到.本地计算机可能没有必要的注册信息或消息 DLL 文 ...

  2. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  3. 在Windows平台下安装与配置Memcached及C#使用方法

    1.在Windows下安装Memcached 资料来源:http://www.jb51.net/article/30334.htm 在Windows平台下安装与配置Memcached的方法,Memca ...

  4. 获取Windows平台下 安装office 版本位数信息

    最近在处理客户端安装程序过程,有一个需求:需要检测Windows平台下安装office 版本信息以及获取使用的office是32 位还是64 位: 当检测出office 位数为64位时,提示当前off ...

  5. [转]Windows平台下安装Hadoop

    1.安装JDK1.6或更高版本 官网下载JDK,安装时注意,最好不要安装到带有空格的路径名下,例如:Programe Files,否则在配置Hadoop的配置文件时会找不到JDK(按相关说法,配置文件 ...

  6. 如何在Windows平台下安装配置Memcached

    Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一 ...

  7. Django框架学习笔记(windows环境下安装)

    博主最近开始学习主流框架django 网上大部分的安装环境都linux的 由于博主在windows环境下已经有了 Pycharm编辑器 ,所以决定还是继续在windows环境下学习 首先是下载 链接 ...

  8. windows平台下安装、编译、使用mongodb C++ driver

    本博客将记录在Win8.1 ,VS2013环境下编译.配置mongodb C++ driver的流程. 1.下载预备 下载Boost:http://sourceforge.net/projects/b ...

  9. mongoDB 在windows平台下安装成系统服务

    1,用如截图所示命令将mongoDB安装成windows系统服务,byRuiy Tips[Note,logpath and dbpath根据你命令行指导的路径,这些目录一定要已经创建]

随机推荐

  1. 19、手把手教你Extjs5(十九)模块Grid的其他功能的设想

    经过对自定义模块和Grid的设计和编码,现在已经能对一个有配置信息的模块来生成界面并进行一些简单的CURD操作.由于这是一个全解释性的前台的架构,因此你想到的任何新主意都可以放到所有的模块中. 比如对 ...

  2. iOS 发布流程

    1.登陆苹果开发者中心http://developer.apple.com(99美元账号) 2.进入itunes connect 3.选择Manage Your Apps 4.选择Add New Ap ...

  3. 获取url参数和时间格式化

    1. 获取url参数: var url = request("url"); //获取url参数 function request(paras) { //decodeURI() 函数 ...

  4. IOS开发-UI学习-使用UIImageView控件制作动画

    先添加40张tomcat的图片到资源列表中:名称为cat_eat0000.jpg到cat_eat0039.jpg. 1.定义所需控件 // 定义按钮,图片控件.可变数组对象 UIButton *act ...

  5. 聊聊Node.js 独立日漏洞

    背景 Node.js 社区近期在美国独立日周末的狂欢之时爆出漏洞 https://medium.com/@iojs/important-security-upgrades-for-node-js-an ...

  6. [Angular Tutorial] 6-Two-way Data Binding

    在这一步中,您将会添加一个新特性来使得您的用户可以控制电话列表中电话的顺序,动态改变顺序是由创建一个新的数据模型的特性实现的,将它和迭代器绑定在一起,并且让数据绑定神奇地处理下面的工作. ·除了搜索框 ...

  7. iOS 程序测试、程序优化、提交前检测

    1. 数据显示如果是数值要考虑到0的情况 2. 数据变化对前一个页面及相关页面的影响,也即数据同步问题.如果是有其它设备改变数据,那数据请求就应该在willappear(视图将要显示事件)进行请求,以 ...

  8. PHP 魔术变量和魔术函数详解

    魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的 ...

  9. c++ split()实现

    在c++中,没有java与python中定义的split()功能的函数,于是自己实现之. 情况1,适用范围,分隔符为字符.思路,记录分隔符的位置,判断需要截取的字符串的下标范围. vector< ...

  10. $(function(){})和$(document).ready(function(){}) 的区别

    document.ready和onload的区别——JavaScript文档加载完成事件 页面加载完成有两种事件 一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件) 二是onloa ...