zoukankan      html  css  js  c++  java
  • nodejs操作mongodb

    首先安装nodejs mongodb

    npm  install mongodb


    var  mongodb = require('mongodb'),
         http = require('http'),
         url = require('url');
    var  server  = new mongodb.Server('localhost', 27017, {auto_reconnect:true});
    var  db = new mongodb.Db('mydb', server, {safe:true});

    //插入表数据
    function insert(tablename,rowInfo,callback){
        db.open(function(err, db){
            if(!err){
                //db.createCollection
                db.createCollection(tablename,{safe:true}, function(err, collection){
                    if(!err){
                        collection.insert(rowInfo,{safe:true},function(err, result){
                            if(!err){
                                callback(true);
                            }else{
                                callback(false);
                            }
                        }); 
                    }else{
                        console.log(err);
                    }
                });
            }else{
                console.log('connect db'+err);
            }
        });
    }


    function save(tablename,rowInfo,callback){
        db.open(function(err,db){
            if(err)return console.error(err);
            
            console.log('* mongodb connected');
            db.collection(tablename).save(rowInfo,function(err,result){
                callback(result);
                db.close();
            });
        })
    }
    //修改表数据
    function update(tablename,id,rowInfo,callback){
        db.open(function(err, db){
            if(!err){
                db.createCollection(tablename,{safe:true}, function(err, collection){
                    if(!err){
                        collection.update(id,rowInfo,{safe:true},function(err, result){
                            if(!err){
                                callback(true);
                            }else{
                                callback(false);
                            }
                        }); 
                    }else{
                        console.log(err);
                    }
                });
            }else{
                console.log('connect db'+err);
            }
        });
    }

    //删除表数据
    function del(tablename,id,callback){
        db.open(function(err, db){
            if(!err){
                db.collection(tablename,{safe:true}, function(err, collection){
                    if(!err){
                        collection.delete(id,{safe:true},function(err, result){
                            if(!err){
                                callback(true);
                            }else{
                                callback(false);
                            }
                        }); 
                    }else{
                        console.log(err);
                    }
                });
            }else{
                console.log('connect db'+err);
            }
        });
    }

    //查询表数据
    function  find(tablename,callback){
        db.open(function(err, db){
            if(!err){
                db.collection(tablename,{safe:true}, function(err, collection){
                    if(!err){
                        collection.find().toArray(function(err, result){
                            if(!err){
                                callback(result);
                            }else{
                                console.log(err);
                            }
                        }); 
                    }else{
                        console.log(err);
                    }
                });
            }else{
                console.log('connect db'+err);
            }
        });
    }

    //删除Collection
    function dropCollection(tablename,callback){
        db.open(function(err, db){
            if(!err){
                db.dropCollection(tablename,{safe:true},function(err,result){
                    if(!err){
                        callback(true);
                    }else{
                        callback(false);
                    }
                }); 
            }else{
                console.log('connect db'+err);
            }
        });
    }

    var myres = "";
    http.createServer(function(req,res){
        var arg = url.parse(req.url,true).query;
        var pathname = url.parse(req.url).pathname;
        console.log(pathname);
        switch(pathname){
            case '/find':        
                find("tb_user",function(data){
                    myres = data;
                    console.log(data);
                });
            break;
            case '/insert':
                var rowInfo = {'userID':10008,'userName':'ciwei','password':'123456','age':25};
                insert("tb_user",rowInfo,function(data){
                    myres = data;
                });
            break;
            case '/update':
                var id = {"userID":10008};
                var rowInfo = {$set:{"userName":"ciwei88888","password":"123456","age":25}};
                update("tb_user",id,rowInfo,function(data){
                    myres = data;
                });
            break;
        }
        
        var str = arg.callback + '(' + JSON.stringify(myres) + ')'
        console.log(str);
        res.end(str);
    }).listen(8080,'localhost');
    console.log("run on 8080");


    更多资料请参见nodejs mongodb官网 http://mongodb.github.io/node-mongodb-native/ 和mongodb官网http://www.mongodb.org/
  • 相关阅读:
    《构建之法》第8、9、10章 读后感
    [团队项目]SCRUM项目6.0 7.0 (新)
    [团队项目]SCRUM项目5.0
    [团队项目]SCRUM项目4.0
    [团队项目] Scrum 项目 3.0 SCRUM 流程的步骤2: Spring 计划
    [操作系统]实验三 进程调度模拟程序
    [团队项目] Scrum 项目 2.0 产品BACKLOG
    复利计算的总结
    复利/单利计算程序进度0321更新
    0312 复利计算器2.0 运行与介绍
  • 原文地址:https://www.cnblogs.com/wuxiang/p/4626810.html
Copyright © 2011-2022 走看看