关键词:
首先还是来链接数据库,然后就查找,如下所示:
/** * Created by leigood on 2016/8/31. */ var express = require('express'); var router = express.Router(); //引入mongodb模块 var MongoClient = require('mongodb').MongoClient; var DB_STR = "mongodb://localhost:27017/blog";//这里的是在mongodb下建立的库 var ObjectId = require('mongodb').ObjectId; //这里主要是用来处理mongodb下id的 /* GET users listing. */ router.get('/', function(req, res, next) { MongoClient.connect(DB_STR,function(err,db){ if(err){ throw err; return; } var c = db.collection('category'); c.find().toArray(function(err,desc){ if(err){ res.send(err); } res.render('Admin/category',{data:desc}); }); }); }); router.get('/add',function(req,res,next){ res.render('Admin/category_add'); }); router.post('/add',function(req,res){ var title = req.body.title; var sort = req.body.sort; //console.log(title+'-------'+sort); MongoClient.connect(DB_STR,function(err,db){ if(err){ throw err; return; } //此处的db,就是blog数据库 var c = db.collection('category'); c.insert({title:title,sort:sort},function(err,result){ if(err){ err.send(err); }else{ res.send('添加分类成功 <a href="/Admin/category">查看列表</a>'); } }); }); }); router.get('/edit',function(req,res,next){ res.render('Admin/category_edit'); }); module.exports = router;
然后就开始将数据遍历到前台模版上去即可。。。
<% include header.html %> <% include left.html %> <!-- Right side column. Contains the navbar and content of the page --> <aside class="right-side"> <!-- Content Header (Page header) --> <section class="content-header"> <h1> 分类列表 <small>分类</small> </h1> <ol class="breadcrumb"> <li><a href="index.html"><i class="fa fa-dashboard"></i> 管理中心</a></li> <li class="category_list.html"><a href="index.html">分类</a></li> <li class="active">分类列表</li> </ol> </section> <!-- Main content --> <section class="content"> <div class="row"> <div class="col-md-12"> <div class="box"> <div class="box-header"> <h3 class="box-title"></h3> <a href="/admin/category/add" class="btn btn-default pull-right">添加分类</a> </div><!-- /.box-header --> <div class="box-body"> <table class="table table-bordered"> <tbody><tr> <th style="width: 10px">#</th> <th>分类</th> <th>文章数量</th> <th>排序</th> <th style="width: 20%">操作</th> </tr> <% data.forEach(function(item,idx){ %> <tr> <td><%= idx+1 %></td> <td><%= item.title %></td> <td>15</td> <td><%= item.sort %></td> <input type="hidden" name="id" value="<%= item._id %>"> <td> <a href="/admin/category/edit?id=<%= item._id %>" class="btn btn-default" title="编辑"><span class="fa fa-edit"></span> 编辑</a> <a href="/admin/category/edit?id=<%= item._id %>" class="btn btn-default" title="删除" onclick="return confirm('是否删除?');"><span class="fa fa-trash-o"></span> 删除</a> </td> </tr> <% }); %> </tbody></table> </div><!-- /.box-body --> <div class="box-footer clearfix"> <ul class="pagination pagination-bg no-margin pull-right"> <li><a href="#">«</a></li> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">»</a></li> </ul> </div> </div> </div> </div> </section><!-- /.content --> <% include footer.html %>
显示效果如下所示:
夺命雷公狗---node.js---22之项目的构建在node+express+mongo的博客项目7之数据的修改
在修改的时候和在PHP里面修改的一样,都是需要在列表页传个id过来才可以实现修改的,如下所示: 然后在后端接收到他传过来id的同时去读取该id的所有信息: 然后就开始写post处理数据方面的问题了,如下所... 查看详情
夺命雷公狗---node.js---16之项目的构建在node+express+mongo的博客项目1
废话不多说我们直接开工。。。直接在目录下打开黑窗口: 然后就开始看看我们创建出来的文件了: 然后就开始创建项目下的目录了: 从这里就可以清晰的看得到我们的目录都是以前后台来分... 查看详情
夺命雷公狗---node.js---15之加密
node其实也给我们留下了密码的加密发送,不过一般都是用cmd5加密其实也是够了,但是sha1加密也要提下: /***Createdbyleigoodon2016/8/31.*/varcrypto=require(‘crypto‘);varmd5=crypto.createHash(‘md5‘);varpass=‘admin888‘;md5.update(pass 查看详情
夺命雷公狗---node.js---18之项目的构建在node+express+mongo的博客项目3头尾左侧分离法
在实际的开发中我们的项目往往都是需要头尾分离开来的,居然是后台管理界面当然也不能错过这么好的这步。。首先我们将我们要分离的部分代码先剪切出来,如下所示: 将他们都弄出来。。。这部分的内容分别对应的是... 查看详情
夺命雷公狗---node.js---14之dns
node下如果想域名解析是需要通过apache或者ng的反向版定才可以实现的,但是他也给我们留下了哟套DNS操作方法: /***Createdbyleigoodon2016/8/30.*///1resolve()--决定域名转换成ip(dns的记录)//2reverse()--颠倒ip转换成域名lookup()vardns=... 查看详情
夺命雷公狗mongodb之----mongodb---3---比较操作符
$lt < lessthan小于$lte <= lessthanandequal小于等于$gt > greaterthan大于$gte >= greanterthanandequal大于等于$ne &n 查看详情
夺命雷公狗---dedecms----4快速入门之栏目页报错之快速解决
我们dedecms是分3级或者3层的,如下图所示: 点击“玄幻小说”后发现出了错,如下图所示: 我们的dedecms是分3层的,他们分别是:网站首页网站的栏目页面(多级)---》栏目页面是需要我们手动生成... 查看详情
夺命雷公狗---微信开发60----在线点播电影网2之电影网整体完工
...YPEhtml><html><head><metacharset="utf-8"><title>夺命雷公狗之电影在线点播网</title><!--宽高禁缩 查看详情
夺命雷公狗---node.js---19之项目的构建在node+express+mongo的博客项目4mongodb在项目中的基本引入
首先我们在命令行下先建立这个库: 然后我们在项目中引入mongodb的模块: varMongoClient=require(‘mongodb‘).MongoClient;varDB_STR="mongodb://localhost:27017/blog";//这里的是在mongodb下建立的库varObjectId=r 查看详情
夺命雷公狗-----react---21--小案例之心情留言板
这个功能如果是用传统型的jquery来写都要花费很多时间才可以完成的案例,亲测jquery配合bootstrap来写和bootstrap配合react.js来写,不知不觉中有点震惊。。。 jquery版本代码如下:<!DOCTYPEhtml><htmllang="en"><head><m... 查看详情
夺命雷公狗---微信开发57----微网站之jquery_mobile之入门案例
这节课我们主要用到到jquery_mobile来实现一个点电影播放网站jquery_mobile(简称JQM)其实就是基于jquery开发出来的一套移动端框架,适应移动用户端市场对浏览与体验从而进一步的提升jquery_mobile控件介绍jquery_mobile的语法将各个控... 查看详情
夺命雷公狗---node.js---20之项目的构建在node+express+mongo的博客项目5mongodb在项目中实现添加数据
我们上一步就引入了mongodb了,那么下一步就要开始写添加数据了,不过有个前提是先将表单的数据处理好: 最基本的这部现在已经成功了,因为最基本的这步就是先将表单处的提交方式和提交地址给处理好,这里和PHP... 查看详情
夺命雷公狗-----react_native---4---初始化项目
我们首先在android目录下创建一个apps的文件夹: 然后我们在apps目录下,按住shift键加鼠标右键选择--在此打开命令窗口输入命令初始化项目 然后就是等了.............................上面的Test3的首写T要大写。。。等。。。... 查看详情
夺命雷公狗---微信开发54----微信js-sdk接口开发之快速入门
js-sdk基本介绍除去服务号的九大接口外,微信提供了JS-SDK接口,所谓JS-SDK接口也就是在网页中使用javascript来更改网页设置,(比如隐藏右上角的菜单)获取用户状态(比如地理位置)甚至调用微信的录音功能上传下载和扫描等... 查看详情
夺命雷公狗-----react---27--小案例之react经典案例todos(清除已完成)
这个功能其实也是很简单的,就只是让todos里面的内isDown进行取反即可 然后在Zong里面进行下修改即可 效果如下所示: 代码如下所示:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><... 查看详情
夺命雷公狗—java---003---java注释
夺命雷公狗—JAVA---003---java注释JAVA注释//我是单行注释/*我是多行注释~~!*//***这个类绘制一个条形图*我是文档注释*@authorrunoob*@version1.2*/ 查看详情
夺命雷公狗-----react---22--小案例之react经典案例todos(上)
在很多前端框架中todos都是一个小的参考例子,在react中当然也是不例外的,先来看看最终的效果先。。。 这个就是官方的例子,我们先来分析下他是由那及格组建组合成的。。。再来分析下他是的数据最终是由那些地方过... 查看详情
夺命雷公狗-----react---26--小案例之react经典案例todos(统计部分的完成)
这一个其实是比较容易的,只需要统计他的总数和已完成的即可, 效果如下所示: 代码如下所示:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title><scriptsrc="./j 查看详情