设为首页 收藏本站
查看: 1132|回复: 0

[经验分享] Nodejs学习笔记(四)——支持Mongodb

[复制链接]

尚未签到

发表于 2017-2-23 07:55:21 | 显示全部楼层 |阅读模式
  前言:回顾前面零零碎碎写的三篇挂着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服务
DSC0000.png

    安装好mongodb服务后使用命令启动和停止mongodb
DSC0001.png

    进入mongo命令模式,可以进行对数据库的增删改查等操作
    注意:当出现以下情况
DSC0002.png

    表示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的数据库的插入数据
    录入数据并提交
DSC0003.png

    跳转到详情页
DSC0004.png

    通过可以看到主页以及列表页也多了这条记录
DSC0005.png

DSC0006.png

    通过mongo模式,我们可以看到这条记录确实已经存入数据库imooc中了
DSC0007.png

  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}
DSC0008.png

    2.2 git push的时候提示unknown ssl的错误
DSC0009.png

    解决方法:被qiang了。
DSC00010.png

    2.3 至此,可以看到我的两个小应用已经传到我的github主页了
DSC00011.png

DSC00012.png

    欢迎前去指教代码^_^
  如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!如果您想持续关注我的文章,请扫描二维码,关注JackieZheng的微信公众号,我会将我的文章推送给您,并和您一起分享我日常阅读过的优质文章。

   DSC00013.jpg

  友情赞助
  如果你觉得博主的文章对你那么一点小帮助,恰巧你又有想打赏博主的小冲动,那么事不宜迟,赶紧扫一扫,小额地赞助下,攒个奶粉钱,也是让博主有动力继续努力,写出更好的文章^^。
      1. 支付宝                          2. 微信
DSC00014.png                        DSC00015.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345855-1-1.html 上篇帖子: 理解互联网域名请求实现过程,以及Nodejs的http请求小谈 下篇帖子: Nodejs之MEAN栈开发(四)---- form验证及图片上传
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表