liuhaifeng315的gravatar头像
liuhaifeng315 2017-01-05 16:17:02

node js+mongodb整合开发简单增删改查实例,适合nodejs初学者学习

今天弄了一个nodejs+mongodb 项目,特地的把我做的功能分享出来.自己搭建好mongodb和node.js环境

node js+mongodb整合开发简单增删改查实例,适合nodejs初学者学习

这个是查询界面 默认的访问地址是localhost:3000/admin

项目目录

node js+mongodb整合开发简单增删改查实例,适合nodejs初学者学习

配置说明

app.js 最下面

// connect to the database
mongoose.connect('mongodb://192.168.1.11/data_collect');  为连接mongodb

mongodb表创建可以先创建实体

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var StrategySehema=new Schema({
    mac: String,
    sn:String,
    region:String,
    sw:String,
    hw:String,
    enable: {type:Number,default:0},
    confUpdateMode: {type:Number,default:0},
    confUpdatePeriod: {type:Number,default:0},
    protocol:   String,
    period: {type:Number,default:0},
    actionMax: {type:Number,default:0},
    resendNum: {type:Number,default:0},
    sendArray: Array,
    extralArray:Array

});
mongoose.model("strategy", StrategySehema)
var StrategyContent = mongoose.model('strategy');

然后在页面通过表单

form(action="/strategyForm", method="post") 提交数据

被app.js拦截

//策略配置保存
app.post('/strategyForm/',strategy.save);

进入strategy路由的save方法取得表单数据

var StrategyContent = require('./../dao/StrategyContent.js');

/**
 * 保存
 */
exports.save = function(req, res) {
    req.setEncoding("utf-8");
    var f_mac=req.body.mac;
    var f_sn=req.body.sn;
    var f_region=req.body.region ? req.body.region:'';
    var f_sw=req.body.sw ? req.body.sw:'';
    var f_hw=req.body.hw ? req.body.hw:'';
    var f_enable=req.body.enable ? req.body.enable:0;
    var f_confUpdateMode=req.body.confUpdateMode ? req.body.confUpdateMode:0;
    var f_confUpdatePeriod=req.body.confUpdatePeriod;
    var f_protocol=req.body.protocol;
    var f_period=req.body.period;
    var f_actionMax=req.body.actionMax;
    var f_resendNum=req.body.resendNum;
    var f_sendArray={};
    var sendArray=req.body.sendArray;
    if(sendArray.indexOf(",")>0){
        f_sendArray=sendArray.split(",");
    }else{
        f_sendArray=sendArray;
    }
    var f_extralArray={};
    var extralArray=req.body.extralArray;
    if(extralArray.indexOf(",")>0){
        f_extralArray=extralArray.split(",");
    }else{
        f_extralArray=extralArray;
    }
    var f_id=req.body.objId;
    console.log(f_id);
    try {
        var data={};
        data.mac=f_mac;
        data.sn=f_sn;
        data.region=f_region;
        data.sw=f_sw;
        data.hw=f_hw;
        data.enable= f_enable;
        data.confUpdateMode=f_confUpdateMode;
        data.confUpdatePeriod=f_confUpdatePeriod;
        data.protocol=f_protocol;
        data.period=f_period;
        data.actionMax=f_actionMax;
        data.resendNum=f_resendNum;
        data.sendArray=f_sendArray;
        data.extralArray=f_extralArray;
        if(f_id==''||f_id==null){
            StrategyContent.save(data,function(err,docs){
                console.log(err);
            });
        }else{
            data._id=f_id;
            StrategyContent.update(data,function(err,docs){
                console.log(err);
            });
        }
    } catch (e) {
        console.log(e);
        res.redirect('/admin');
    }
    res.redirect('/admin');
}

进入dao层StrategyContent.js保存

exports.save=function(params,callback){
    StrategyContent.collection.insert(params,function(err,docs){
        console.log(err);
    });
}

具体的可以下载代码看下

文件名:data_collect.zip,文件大小:6225.055K 下载
  • /
      • /data_collect
          • /data_collect/.idea
            • /data_collect/.idea/.name
            • /data_collect/.idea/data_collect.iml
            • /data_collect/.idea/jsLibraryMappings.xml
              • /data_collect/.idea/libraries
                • /data_collect/.idea/libraries/data_collect_node_modules.xml
            • /data_collect/.idea/misc.xml
            • /data_collect/.idea/modules.xml
            • /data_collect/.idea/vcs.xml
最代码最近下载分享源代码列表最近下载
风往北吹 3月19日
暂无贡献等级
azaz 3月18日
暂无贡献等级
F_E_MARK 3月15日
暂无贡献等级
ghost计都 3月12日
暂无贡献等级
11048804 3月10日
暂无贡献等级
sihouzi08 3月9日
暂无贡献等级
Selena2017 3月9日
暂无贡献等级
岁月神偷1101 3月8日
暂无贡献等级
ahdwdhf 3月3日
暂无贡献等级
yangshuhao 3月1日
暂无贡献等级
最代码最近浏览分享源代码列表最近浏览
StevenXu2017 5小时前
暂无贡献等级
风往北吹 3月19日
暂无贡献等级
azaz 3月18日
暂无贡献等级
yuyu19951212 3月16日
暂无贡献等级
F_E_MARK 3月15日
暂无贡献等级
sansy31 3月13日
暂无贡献等级
mr_dafeng 3月12日
暂无贡献等级
ghost计都 3月12日
暂无贡献等级
lc1769317160 3月11日
暂无贡献等级
11048804 3月10日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友