1.mongodb数据库的下载和集合创建
我们在学习get和post参数处理时,都是使用纯静态的操作,
比如get:我们点击的列表数据应该来自数据表而不是静态写死的,
比如post:登录时,我们应该匹配数据库的登录信息。
这些都在说明我们需要有数据库来存放这些数据信息。
数据库多种多样,我们选择哪一个?
express的为数据库的链接提供了多种办法:http://www.expressjs.com.cn/guide/database-integration.html
我们将使用mongodb作为数据库,nodejs的推荐数据库。
下载mongo,根据系统下载(http://www.veryhuo.com/down/html/mongodb.html win32位,网速问题,链接不到官网,这能下载这个了,不是最新版本不会影响学习的)。
解压,改变文件夹名字,那个太长了,丑爆了,我们改成“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" : "[email protected]" }) 使用集合或新建
命令3:db.usercollection.find().pretty() 显示集合内容
命令4: show collections 显示集合列表
我们打开dbme,我们发现创建的数据库可见了: