1.mongodb数据库的下载和集合建立html
咱们在学习get和post参数处理时,都是使用纯静态的操做,node
好比get:咱们点击的列表数据应该来自数据表而不是静态写死的,web
好比post:登陆时,咱们应该匹配数据库的登陆信息。mongodb
这些都在说明咱们须要有数据库来存放这些数据信息。shell
数据库多种多样,咱们选择哪个?数据库
express的为数据库的连接提供了多种办法:http://www.expressjs.com.cn/guide/database-integration.htmlexpress
咱们将使用mongodb做为数据库,nodejs的推荐数据库。json
下载mongo,根据系统下载(http://www.veryhuo.com/down/html/mongodb.html win32位,网速问题,连接不到官网,这能下载这个了,不是最新版本不会影响学习的)。dom
解压,改变文件夹名字,那个太长了,丑爆了,咱们改为“mongodb”。编辑器
数据库已经在咱们的nodejs目录下了,我是为了方便找到和本身感受清楚,咱们打开mongodb会看到bin,里面就是启动程序等。
下面就是重点了,一点要牢记这些数据库的基本操做:
cmd窗口到mongodb的bin目录
咱们到这里就要开始建立数据库了,咱们先启动数据库和指定数据库的存储位置,咱们在nodejs的目录下,建立“dbme”。
dbme会存放咱们使用的数据库、表等内容。
命令1:
mongod -dbpath "d:/nodejs/dbme"
执行后,咱们会看到下面:
左下角处,焦点闪动说明启动正确,其余可能就是发生错误了。
咱们去查看deme这个目录,发现被建立了数据库的相关内容:
此命令启动mongo和指定mongo建立的数据库存放位置。
这时候切记,运行win+r另开一个窗口(当前窗口表示mongo启动,是不能关闭和执行其余的,要想连接到mongo和进行操做,须要另开窗口)。cd到bin目录,执行
start mongo
执行后,会弹出mongoexe窗口,这个窗口就是咱们数据库的操做窗口。
若是闪退的话,删除dbme目录下的
而后从新启动,到这里咱们就已经成功链接到数据库了,下面就是在在mongo中建立数据库,数据表等内容。
建立数据库命令:
use xxx
xxx表示数据库名称,不存在就会建立这个数据库
咱们mongo.exe执行命令,
指向blogme数据库,下面建立集合(mongo的集合至关于数据表)。
建立集合和插入数据命令:
db.news.insert({ "title" : "new1", "text" : "t111111" })
db就表明blogme数据库,.后面就是集合名称(数据表名称),insert命令插入数据,执行便可:
查看集合内容而且显示命令:
db.news.find().pretty()
显示了咱们建立的内容,news是结合名称,是哪一个集合就写成什么。
集合只有一条数据,咱们多建立几个,方便后面的显示:
news=[{"title":"new2","text":"t2"},{"title":"new3","text":"t3"}]
上面是多条数据插入形式,定义变量和内容,其实就是json的格式,mongo就是以类json格式存储的。
执行插入命令:
db.news.insert(news);
咱们执行后,运行db.news.find().pretty(),查看结果:
咱们发现mongo.exe就相似编辑器窗口同样,语法和js也是很像的,这样感受操做很是的麻烦,咱们须要一个可视化的数据库编辑器,咱们只是学习使用,这里就不去安装了,命令能够知足咱们的需求。
此时咱们知道了:
建立数据库命令
建立集合命令
插入数据
多条插入
显示数据
固然数据的的启动和设置存放目录已经知道了,咱们在建立一个集合,
如今数blogme下有2个集合(表),咱们运行下面命令能够查看全部集合:
show collections
集合除了上面插入和显示还有删除,修改等处理,咱们能够百度查看。
总结:
启动操做
命令1:mongod -dbpath "d:/Nodejs/nodetest1" 启动数据库服务,指定数据库存放目录
命令2:start mongo 开始数据库链接
数据库操做
命令1:use xxx 使用数据库或这新建
命令2:db.usercollection.insert({ "username" : "testuser1", "email" : "testuser1@testdomain.com" }) 使用集合或新建
命令3:db.usercollection.find().pretty() 显示集合内容
命令4: show collections 显示集合列表
咱们打开dbme,咱们发现建立的数据库可见了: