nodeJS学习(7)--- WS开发 NodeJS 项目-节2 <安装&设置&启动 mongodb 数据库++遇到的问题>
本文系统 win7
参考:http://lib.csdn.net/article/mongodb/58097
http://www.cnblogs.com/lzrabbit/p/3682510.html(没有MongoDB 服务 或者 MongoDB Windows 启动出错等等...使用 net start MongoDB 不能启动服务时,获得很多的帮助,在此感谢!)
http://blog.sina.com.cn/s/blog_ae0830180101p2xm.html
1. 下载 mongodb,可下载 .msi 或 压缩文件,本文下载:.msi 文件,网址:http://dl.mongodb.org/dl/win32/x86_64
2. 安装 mongodb,主要步骤如下:
-- .msi 文件方式安装:双击 .msi 文件,一路同意,按操作提示安装即可(已实践)。
安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录。


---压缩文件方式安装:将zip文件解压放到盘符的根目录(如C:或D:),为了方便建议文件夹命名尽量简短如(d:\mongodb)

创建数据库文件的存放位置,比如d:/mongodb/data/db。启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。

设置数据库文件的存放位置: 打开cmd(windows键+r输入cmd)命令行,进入D:\mongodb\bin目录(如图先输入d:进入d盘--然后输入cd d:\mongodb\bin),
输入如下的命令启动 mongodb 服务:
mongod --dbpath D:\mongodb\data\db

mongodb 默认连接端口27017,如果出现如图的情况:

看到上面的提示底部出现 waiting for connections on port 27017字样,则表示 dbpath 配置完成,且MongoDB启动成功。
而且此时打开资源管理器,进入MongoDB的dbpath目录,内容如下:
可以发现本地确实初始化数据库了。
验证: 可以打开http://localhost:27017查看(笔者这里是chrome),出现如图,则表示连接成功,如果不成功,可以查看端口是否被占用。


3. 配置 mongodb,主要步骤如下(已成功实践):
在上面的配置中,虽然启动了服务,且可以进行数据库操作,但是开两个窗口很不方便,所以可以通过配置文件,来配置windows服务。
(1) 创建目录:为您的数据库和日志文件创建目录:
mkdir D:\MongoDB\data\db
mkdir D:\MongoDB\data\logs
(2) 创建cfg配置文件:创建一个配置文件,文件内必须设置MongoDB日志路径 systemLog.path。包扩一些其他的附加配置选项。
例如,在在D:\MongoDB\ 下创建mongodb.conf,并在文件内指定 systemlog.path 和 storage.dbpath:
dbpath= D:\MongoDB\data\db #数据库路径
logpath= D:\MongoDB\data\logs\mongodb.log #日志输出文件路径
logappend= true #错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
journal= true #启用日志文件,默认启用
quiet= true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port= 27017 #端口号 默认为27017
(3) 命令行 设置 文件地址:
mongod --bind_ip yourIPadress # 默认即可,即不用设置
mongod --logpath D:\Applications\MongoDB\data\logs\mongod.log --logappend # 主要1
mongod --dbpath D:\Applications\MongoDB\data\db --directoryperdb # 主要2
mongod --port yourPortNumber # 可默认(默认端口:27017),即不用设置
mongod --serviceName "YourServiceName"
mongod --serviceDisplayName "YourServiceName" # 主要3
mongod --install
下表为mongodb启动的参数说明:
| 参数 | 描述 |
|---|---|
| --bind_ip | 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP |
| --logpath | 定MongoDB日志文件,注意是指定文件不是目录 |
| --logappend | 使用追加的方式写日志 |
| --dbpath | 指定数据库路径 |
| --port | 指定服务端口号,默认端口27017 |
| --serviceName | 指定服务名称 |
| --serviceDisplayName | 指定服务名称,有多个mongodb服务时执行。 |
| --install | 指定作为一个Windows服务安装。 |
强调: 在执行设置时,若出现如下问题:

其原因:官方最新版的 MongoDB 需要: VC++2015 RC x64的支持,否则会报出
下载网址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
可以通过命令: msinfo32 产看自己电脑的版本等系统信息。
解决方案:安装 VC redit.exe 程序解决
链接:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145, 下载时选择x86还是x64的根据自己系统的需求,安装成功就可以了。
但是对于有些电脑系统,还会出现这些情况,提示安装失败:
http://blog.csdn.net/huqiao1206/article/details/50768481
(4) 添加环境变量: 在环境变量PATH中加入“D:\learnEclipse\MongoDB\bin“
(5) 以Windows服务器运行MongoDB:
参考:http://blog.sina.com.cn/s/blog_ae0830180101p2xm.html
以管理员方式打开CMD窗口,运行如下命令安装MongoDB服务 or 也可以在 “控制面板\所有控制面板项\管理工具\服务”找到名为“MongoDB”的服务右键启动
- 普通启动
mongod --config D:\MongoDB\etc\mongodb.conf
- 安装为Windows服务
注:2.6版 这种方式在win7、win8 64位版无法安装成功,其他系统未测试mongod --config D:\MongoDB\etc\mongodb.conf --install
- 使用 SC 安装为Windows服务
强调:若配置了dbpath 和 logpath, 服务里没有 MongoDB 或仍不能使用net start MongoDB 启动 MongoDB服务,则采用 sc 方法,如下:(已自实践)
sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=D:\MongoDB\etc\mongodb.conf"
(6) 启动服务:在命令行中输入net start MongoDB 启动服务,关闭命令行工具,在浏览器中查看管理控制台。也可以在可以在 “控制面板\所有控制面板项\管理工具\服务”。
如下所示:

关闭和删除服务
停止 MongoDB 服务 使用以下命令:
net stop MongoDB
删除 MongoDB 服务 使用以下命令:
"D:\MongoDB\bin\mongod.exe" --remove
测试连接:
在CMD中运行如下命令,查看结果,则安装成功

4. MongoDB 可视化数据库管理工具
- mongoVUE :比较好用,更接近plsql ,下载地址: http://www.mongovue.com/
破解版下载:https://www.ddooo.com/softdown/93678.htm#dltab
强调:先安装好 .msi 文件,一路 Next 即可(可改路径),再将 .exe 文件考到安装路径并替换掉原来的即可。
破解方法 :开始-运行-regedit-搜索:B1159E65-821C3-21C5-CE21-34A484D54444 ,然后把1,2,3项数值删除,然后重新打开mongoVUE就行了。之后MongoVUE又重置到15天的情况了。
- robomongo:可用性略差,但能直接写shell而且有代码提示,期待他以后版本,下载地址: http://www.robomongo.org/
- umongo : 可用性略差,但在集群尤其切片维护方面不错,下载地址:
https://github.com/agirbal/umongo
5. MongoVUE 的使用
参考:http://blog.sina.com.cn/s/blog_5fb90aaa01011p4r.html
注意:MongoVUE 不支持mongodb 3.0以上的版本 可以下载 mongochef 利用这个可以创建新的Collection ( mongodb 3.x 是运行在 wiredTiger 引擎 )
- 配置连接:

- Ok,连接成功齐活儿~

- 下面来试一下,创建数据库表:鼠标右键点击数据库->选择Add Collection,输入Collection Name,点击ok创建完成。插入一个新的名为 Message 的 Collection :

注意: MongoDBVUE 无法显示 collection,如下图所示:

原因: MongoDB新的存储引擎为wiredTiger ,在这种存储引擎下面,我们用可视化工具MongoVUE是无法看到collection的
应该更换为mmapv1引擎
1、删除data文件夹,然后重新创建data
2、执行mongod --storageEngine mmapv1 --dbpath 数据目录

再接着重新创建 collection.



点击 Insert, 结果如图(其中 _id 最好由数据库自己生成,以防冲突/重复/...):

6. Robomongo 的使用
参考:http://www.2cto.com/database/201604/498288.html
- 启动MongoDB: 这是必须的呀,一切都要基于MongoDB的启动,RoboMongo不过是取代了win+R+mongo。
- 创建数据库(默认状态 ): 一般不使用

- 创建数据库 : 选中mylocal(1)右键–>Create DataBase

命名····依然想创建一个数据库放 records 信息。故,取名 recordsDB

- 添加集合
(1) 使用 Mongo shall 建立数据表: baseDB,右键–>Open shall

yeah,you are right.现在你可以为所欲为了,呵呵,你想go die的话···
展开userMassagesDB折叠

(2) 建立数据表:选中Collection,右键–>Create Collection

我创建了一个名叫userMassagesList的集合。

- 插入文档(单条信息): 继续小白的选中 userMassagesList,右键–>insert Document··· , then :

- 查看文档
选中userMassagesList,右键–>Viewv Documents···
nodeJS学习(7)--- WS开发 NodeJS 项目-节2 <安装&设置&启动 mongodb 数据库++遇到的问题>的更多相关文章
- nodeJS学习(8)--- WS/...开发 NodeJS 项目-节3 <使用 mongodb 完整实例过程>
使用 mongodb 的小系统 参考:https://my.oschina.net/chenhao901007/blog/312367 1. Robomongo 创建项目的数据库和数据表 参考:htt ...
- NodeJS学习笔记 进阶 (1)Nodejs进阶:服务端字符编解码&乱码处理(ok)
个人总结:这篇文章主要讲解了Nodejs处理服务器乱码及编码的知识,读完这篇文章需要10分钟. 摘选自网络 写在前面 在web服务端开发中,字符的编解码几乎每天都要打交道.编解码一旦处理不当,就会出现 ...
- NodeJS学习笔记 进阶 (13)Nodejs进阶:5分钟入门非对称加密用法
个人总结:读完这篇文章需要5分钟,这篇文章讲解了Node.js非对称加密算法的实现. 摘录自网络 地址: https://github.com/chyingp/nodejs-learning-guid ...
- NodeJS学习笔记 进阶 (12)Nodejs进阶:crypto模块之理论篇
个人总结:读完这篇文章需要30分钟,这篇文章讲解了使用Node处理加密算法的基础. 摘选自网络 Nodejs进阶:crypto模块之理论篇 一. 文章概述 互联网时代,网络上的数据量每天都在以惊人的速 ...
- idea开发web项目框架失效和无法启动问题
不会配置idea的javaweb环境的小伙伴可以点击此链接 idea最新版,配置javaweb环境 很多小伙伴用idea开发web项目可能会出现所有代码都写对了但是无论如何都没法运行的情况,eclip ...
- NodeJS学习日记--环境配置及项目初始化
在node.js官网下载nodejs安装包 安装完成后打开控制台,输入 npm -version 如果正确显示npm版本则安装成功. 创建项目之前先要安装以下全局扩展模块 npm install -g ...
- nodeJS学习(9)--- nodeJS模块:exports vs module.exports
模块简介: 通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ 这些核心模块被编译成二进制文件,可以 require('模块名') ...
- NodeJS学习笔记 进阶 (11)Nodejs 进阶:调试日志打印:debug模块
个人总结:读完这篇文章需要5分钟,讲解了debug模块的使用 摘选自网络 前言 在node程序开发中时,经常需要打印调试日志.用的比较多的是debug模块,比如express框架中就用到了.下文简单举 ...
- nodeJS学习(11)--- nodeJS 取参 -- req.body & req.query & req.params
参考:https://my.oschina.net/u/2519530/blog/535309 获取请求中的参数是每个web后台处理的必经之路,nodejs的 express框架 提供了四种方法来实现 ...
随机推荐
- TCP/IP与OSI参考模型原理
网络是很重要同时也是很难理解的知识,这篇文章将会用自己容易理解的方式来记录有关网络的tcp与osi模型内容,不求专业深刻,但求通俗易懂也好. OSI参考模型 OSI定义了网络互连的七层框架(物理层.数 ...
- 神经网络系列学习笔记(二)——神经网络之DNN学习笔记
一.单层感知机(perceptron) 拥有输入层.输出层和一个隐含层.输入的特征向量通过隐含层变换到达输出层,在输出层得到分类结果: 缺点:无法模拟稍复杂一些的函数(例如简单的异或计算). 解决办法 ...
- Yii2.X 如何避开pathinfo不能处理中文名开头的bug
/** * @return string original file base name */ public function getBaseName() { // https://github.co ...
- wampserver怎么设置外网可访问
wampserver配置httpd.conf允许外网访问? 在电脑上开启wamp服务后,默认是禁止外部网络访问的,如果您想要同一局域网中的设备能够访问PC上的web项目,则需要对httpd.conf文 ...
- 04.VUE学习之v-text v-html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- 826. Most Profit Assigning Work
https://leetcode.com/problems/most-profit-assigning-work/description/ class Solution { public: int m ...
- Careercup - Microsoft面试题 - 5917873302142976
2014-05-12 06:56 题目链接 原题: A link list contains following elements struct node{ int data; node* next; ...
- 【Remove Duplicates from Sorted List II 】cpp
题目: Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct ...
- APK无源码使用Robotium简单总结
1.使用re-sign.jar对待测包进行重签名,并记录下包名和主Activity名. 2.在Eclipse中点击File-New-Other 选择Android下的Android Test Proj ...
- 【LeetCode】汉明距离(Hamming Distance)
这道题是LeetCode里的第461道题. 题目描述: 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. 给出两个整数 x 和 y,计算它们之间的汉明距离. 注意: 0 ≤ x, ...