array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 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:\software\mongodb\mongo.log --dbpath=E:\software\mongodb\data\db

  logpath是存放日志的位置,dbpath是存放数据的数据库的位置

  总之,你执行完这个命令后,在运行命令行中输入services.msc后,就可以看到MongoDB这个服务项了,后面你就可以通过

    net start mongodb 启动mongodb服务
    net stop mongodb 停止mongodb服务

  通过指令注册mongodb服务

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

 

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

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

  进入mongo命令模式,可以进行对数据库的增删改查等操作

 

  注意:当出现以下情况

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

  表示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的数据库的插入数据

  录入数据并提交

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

  跳转到详情页

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

 

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

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

 

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

 

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

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

 

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}

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

 

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

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

 

  解决方法:被qiang了。

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

 

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

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

 

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

  欢迎前去指教代码^_^

 

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

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

友情赞助

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

    1. 支付宝                          2. 微信

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

相关文章: