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

      

    友情赞助

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

        1. 支付宝                          2. 微信

                          

  • 相关阅读:
    c# 泛型总结
    透过字节码分析java基本类型数组的内存分配方式。
    c#索引器
    redis在asp.net 中的应用
    Unity3D shaderLab
    Unity3d Asset Store 打不开
    C# 类型转换的开销
    [转]权重算法
    Coroutine的原理以及实现
    在Unity3D里使用WinForm
  • 原文地址:https://www.cnblogs.com/bigdataZJ/p/Nodejs4.html
Copyright © 2011-2022 走看看