zoukankan      html  css  js  c++  java
  • 使用mongoskin操作MongoDB

    mongoskin是一个操作MongoDB的模型工具 相当于数据库类 与之相当的还有mongoose比较出名

    安装模块(特地加了版本,这里被坑过,在Ubuntu中开发的好好的,部署到线上centos中mongodb模块最新版是3.0.0,因此和mongoskin不匹配,所以特别指定版本安装)
    npm install mongodb@2.2.33
    npm install mongoskin@2.1.0

    导入mongoskin  连接MongoDB中test数据库

    var mongo = require('mongoskin');
    var db = mongo.db("mongodb://localhost:27017/test", {native_parser: true});

    操作与MongoDB原生语法大同小异  只不过多了回调

    router.post('/doadd', function (req, res, next) {
        var param = req.body;
        if(param.username && param.password){
            //插入数据
            db.collection('user').insert({'username': param.username,'password':param.password}, function (err, result) {
                db.close();
                if(!err){
                    res.send({'status':1});
                }else{
                    res.send({'status':0});
                }
            });
        }
    });

    router.post('/dodel', function (req, res, next) {
        var param = req.body;
        if(param.id){
            var ObjectId = mongo.ObjectID;
            db.collection('user').remove({'_id':ObjectId(param.id)}, function (err, result) {
                db.close();
                if(!err){
                    res.send({'status':1});
                }else{
                    res.send({'status':0});
                }
            });
        }
    });

    router.post('/doedit', function (req, res, next) {
        var param = req.body;
        if(param.username && param.password){
            var ObjectId = mongo.ObjectID;
            //修改单条数据
            db.collection('article').update({'_id':ObjectId(param._id),'username':param.username},{$set:{'password': param.password}}, function (err, result) {
                db.close();
                if(!err){
                    res.send({'status':1});
                }else{
                    res.send({'status':0});
                }
            });
        }
    });

    router.get('/', function (req, res, next) {
        db.collection('article').find().toArray(function (err, result) {
            db.close();
            res.render('admin/index', {title: '后台管理',result:result});
        });
    });
  • 相关阅读:
    利用WinCE的精准计时函数来输出pwm信号以便控制舵机
    leafletjs旋转marker
    centos7 NodeJs安装问题:Error: Cannot find module '../lib/utils/unsupported.js'
    Django 自定义存储上传文件的文件名
    后端开发不会前端之表格插件的使用
    Django项目部署之sqlite版本升级
    SQL 循环30日
    SSRS 报表 报表迁移
    SQL SERVER中求上月、本月和下月的第一天和最后一天
    SSRS 报表 日期类表达式
  • 原文地址:https://www.cnblogs.com/fengyumeng/p/7930409.html
Copyright © 2011-2022 走看看