Nodejs学习笔记(四)——支持Mongodb

时间:2022-04-22
本文章向大家介绍Nodejs学习笔记(四)——支持Mongodb,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言:回顾前面零零碎碎写的三篇挂着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:softwaremongodbmongo.log --dbpath=E:softwaremongodbdatadb

  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的微信公众号,我会将我的文章推送给您,并和您一起分享我日常阅读过的优质文章。