夺命雷公狗---node.js---21之项目的构建在node+express+mongo的博客项目6之数据的遍历

夺命雷公狗 夺命雷公狗     2022-08-02     524

关键词:

首先还是来链接数据库,然后就查找,如下所示:

 

 

 

/**
 * 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 查看详情