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/
  • 相关阅读:
    软件开发工具-4
    软件开发工具-3
    软件开发工具-2
    软件开发工具-1
    2020年06月02日_Node_exporter的docker部署方式监控网络不准确问题
    DELL OpenManage Server Administrator安装及使用
    yum下载rpm包和依赖包到指定目录(且不安装)
    诡异的docker网络问题解决
    nextcloud新实例安装时一直在登录页面转圈圈
    洛谷-P4414 [COCI2006-2007#2] ABC
  • 原文地址:https://www.cnblogs.com/wuxiang/p/4626810.html
Copyright © 2011-2022 走看看