前言:回顾前面零零碎碎写的三篇挂着Nodejs学习笔记的文章,着实有点名不副实,当然,这篇可能还是要继续走着离主线越走越远的路子,从简短的介绍什么是Nodejs,到如何寻找一个可以调试的Nodejs IDE再到未爬先走的搭建一个小小的nodejs application,一直都是贯彻“学习笔记”的精神,想到哪写到哪,遇到什么问题就去解决并记录。如果你不幸读到本笔记,还请记住这是一系列形散神不散的学习笔记!!!
好了,每次不扯几句感觉没法开场似的。本篇形散于要穿插如何利用github管理自己的代码,而神不散于要继续上篇的《Nodejs学习笔记(三)——一张图看懂Nodejs建站》讲述下不通过伪造数据而是真实的把玩mongodb一番,实现真真正正的有前后台有数据库的application。
上篇使用Nodejs搭建了一个网站应用,我也已经将这些代码传到我的github(https://github.com/DMinerJackie)上了,有兴趣的可以下载或者在线查看,但是作为一个像样的完整的网站应用,不能没有数据库的支持。所以,这里跟着Scott老师继续学习了如果使用mongodb这个nosql存储数据并实现增删改查的。相比上篇这里主要要提到的有以下几点:
1.有关mongodb
1.1 Mongodb数据库的安装和使用
关于mongodb的下载安装配置,这里《windows下MongoDB的安装及配置》写的很清楚。
补充下如果要当成一种服务直接使用的话,可以按照如下操作:
进入到你存放安装mongodb的目录下的bin文件夹,执行命令mongod.exe --install --logpath=E:\software\mongodb\mongo.log --dbpath=E:\software\mongodb\data\db
logpath是存放日志的位置,dbpath是存放数据的数据库的位置
总之,你执行完这个命令后,在运行命令行中输入services.msc后,就可以看到MongoDB这个服务项了,后面你就可以通过
net start mongodb 启动mongodb服务
net stop mongodb 停止mongodb服务
通过指令注册mongodb服务
安装好mongodb服务后使用命令启动和停止mongodb
进入mongo命令模式,可以进行对数据库的增删改查等操作
注意:当出现以下情况
表示mongodb服务还没有启动,可以通过上面的命令启动mongodb,就可以进入mongo模式。
1.2 在代码中编写有关Mongodb的模式Schema和模型Model
Shema是一个文档的数据结构,可以定义各种类型如String、Number、Date等类型的字段,有个数据结构的定义,后面的数据就有了一一对应的存放的位置。
Model是对应于前面定义Schema的编译版本,一个model的实例直接映射数据库中的一个文档,从而实现CRUD(Create、Read、Update、Delete)操作。
具体的定义参见代码中models/movie.js和shemas/movies.js。
1.3 在入口文件app.js中改写数据获取方式
具体参见app.js,通过新加入的路由“/admin/movie/new”,实现向网站中添加数据,也就是将数据插入到mongodb的表中。之后我们可以在主页以及list和detail页面看到加入的这条记录
注意:代码中的update和delete模块的代码还有问题,目前尚未调通,但是不影响对于mongodb的数据库的插入数据
录入数据并提交
跳转到详情页
通过可以看到主页以及列表页也多了这条记录
通过mongo模式,我们可以看到这条记录确实已经存入数据库imooc中了
2.有关github
工作中发现github着实是个好东西,所以为了避免本地不断的修改有没有修改记录的囧境,所以决定将这个小小应用的代码上传到github上。
那么问题来了——没弄过。
没关系,那就现在开始弄吧,鼠标点一点,资料看不完。 下面这篇《手把手教你最简单的开源项目托管GitHub入门教程》讲的很好了。
前人讲的这么好,我就不啰嗦了,补充两点自己遇到的问题。
2.1 在git commit的时候报错:fatal: unable to auto-detect email address (got 'Administrator@20150409-153944.
解决方法:表明自己的身份:git config --global user.email {emailaddress}
2.2 git push的时候提示unknown ssl的错误
解决方法:被qiang了。
2.3 至此,可以看到我的两个小应用已经传到我的github主页了
欢迎前去指教代码^_^
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!如果您想持续关注我的文章,请扫描二维码,关注JackieZheng的微信公众号,我会将我的文章推送给您,并和您一起分享我日常阅读过的优质文章。
友情赞助
如果你觉得博主的文章对你那么一点小帮助,恰巧你又有想打赏博主的小冲动,那么事不宜迟,赶紧扫一扫,小额地赞助下,攒个奶粉钱,也是让博主有动力继续努力,写出更好的文章^^。
1. 支付宝 2. 微信