Node.js mongodb 的安装,连接

Nodejs cyanprobe 8年前 (2015-12-15) 5132次浏览 已收录 3个评论

前言:

NODE.js天生适用于并发性比较好的NoSQL,一般网站架构采用node+express+mongodb的方式,我们先来解决第一个问题,数据库的安装。由于mongodb安装win中比较无脑,这里就不解释了,主要是关于mongodb的配置和相关的数据库模块的引用利用。

正文开始:

mongodb的安装:

首先从mongodb官网,下载最新版本的数据库,然后一路无脑安装如图下,我的系统是win8 64位:
2015-12-11_185132
然后我们一路命令行来到mongodb的数据库的bin目录,在bin目录执行命令 mongod –dbpath E:\node\mongodb\data ,设置默认数据库储存目录,并运行数据库,具体情况如图下 PS:我的mongodb目录是:E:\node\mongodb
2015-12-14_211805
data目录是默认的数据库文件储存地址,如果不存在,自己建个。看到后面的port 27017 那个就是mongodb的默认端口,数据库启动就成功了,以后每次开机都要启动一次,那样太麻烦了,我们可以把它添加到win的服务中!(ps:不会),自己看教程吧。现在我们启动bin目录下的mongo.exe
2015-12-14_212246
我们进入到数据操作页面,紧跟着,我们看到mongod命令框显示,新的链接已经打开,至此,mongodb的安装结束。

mongodb的连接方法:

首先打开package.json,在后面依赖包里添加如下代码,然后执行 npm install 添加依赖包,可以试用类似”express-session”: “*” 试用npm命令后,命令提示中会显示可以使用的模块版本号,我们在json中重新写版本号,最后执行安装即可。

 "express-session": "1.12.1", //
 "connect-mongo":"0.8.2",//以上两个模块实现了将session会话储存到mongodb中。
 "mongoose":"4.3.0"//mongodb的驱动模块。

1.数据库连接信息模块:
在工程跟路径建立setting.js文件用于保存数据库连接信息。(ps:我建错了目录….)

module.exports={
cookSecrect:'dsdsf',//cook加密规则随便写了
db:'blog',
host:'localhost',
port:27017};

2.module文件夹下添加db.js模块

var settings=require(../view/setting),
Db=require('mengodb').Db,
Connection=require('mengodb').Connection,
Server =require('mongodb').Server;
moudle.exports=new Db(settings.db,new Server(settings.host,settings.port),{safe:ture});

3.对app.js进行修改,在路由规则引入下添加
var settings=require(‘./view/settings’);
4.实现express-session和connect-mongo模块将会话信息储存到 app.js。

var session=require('express-session');
var MongoStore=require('connect-mongo')(session);
app.use(session({
secret:settings.cookieSecrect;//加密
key:settings.db,
cookie:{maxAge:1000*60*60*24*30},//生存周期30天。
store:new MongoStore({
db:settings.db,
host:settings.host,
port:settings.port
})
}));

后记:

照葫芦画瓢,技术渣渣得很,谢谢群里一些前辈的指导,感觉自己要努力入手这门语言了,要加油了!


CyanProbe , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Node.js mongodb 的安装,连接
喜欢 (2)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(3)个小伙伴在吐槽
  1. 好高大上~~~就没有菜鸟级教程啊?
    姜辰2015-12-16 00:00 回复