zoukankan      html  css  js  c++  java
  • node.js操作mongoDB数据库

    链接数据库:

    var mongo=require("mongodb");
     var host="localhost";
     var port=mongo.Connection.DEFAULT_PORT;
     var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器
     var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象
     db.open(function (err,db) {//连接数据库
         if(err)
             throw err;
         else{
             console.log("成功建立数据库连接");
             db.close();
         }
     });
     db.on("close", function (err,db) {//关闭数据库
         if(err) throw err;
         else console.log("成功关闭数据库.");
     });

    插入数据:

    插入数据后,在控制台中输出数据文档的内容

     var mongo=require("mongodb");
     var host="localhost";
     var port=mongo.Connection.DEFAULT_PORT;
     var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器
     var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象
     db.open(function (err,db) {//连接数据库
         if(err)
             throw err;
         else{
             db.collection("users", function (err,collection) {
                 collection.insert({username:"盼盼",firstname:"李"}, function (err,docs) {
                     console.log(docs);
                     db.close();
                 });
             });       
         }
     });
     db.on("close", function (err,db) {//关闭数据库
         if(err) throw err;
         else console.log("成功关闭数据库.");
     });

    关闭数据库db.close([forceClose],[callback]);

    forceClose为true时,强制关闭该数据库,当数据库关闭后,不可再使用open开启数据库.

    forceClose为false时,不强制关闭数据库,当数据库关闭后,可以再使用open打开.

    当foreClose为true时:

    var mongo=require("mongodb");
     var host="localhost";
     var port=mongo.Connection.DEFAULT_PORT;
     var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器
     var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象
     db.open(function (err,db) {//连接数据库
         if(err)
             throw err;
         else{
             db.collection("users", function (err,collection) {
                 collection.insert({username:"盼盼",firstname:"李"}, function (err,docs) {
                     console.log(docs);
                     db.close(false);
                 });
             });
         }
     });
     db.once("close", function (err,db) {//关闭数据库
         if(err) throw err;
         else {
             db.open(function (err,db) {
                 db.collection("users", function (err,collection) {
                     collection.insert({username:"三",firstname:"张"}, function (err,docs) {
                         if(err) throw  err;
                         else{
                             console.log(docs);
                             db.close(true);
                         }
                     })
                 });
             });
         }
     });

    //读取数据

    var mongo=require("mongodb");
    var host="localhost";
    var port=mongo.Connection.DEFAULT_PORT;
    var server=mongo.Server(host,port,{auto_reconnect:true});
    var db=new mongo.Db("node-mongo-examples",server,{safe:true});
    db.open(function (err,db) {
        db.collection("users", function (err,collection) {
            if(err) throw err;
            else{
                collection.find({}).toArray(function(err,docs){
                    if(err) throw  err;
                    else{
                        console.log(docs);
                        db.close();
                    }
                });
            }
        });
    });

    //带查询条件的搜索

    var mongo=require("mongodb");
    var host="localhost";
    var port=mongo.Connection.DEFAULT_PORT;
    var server=mongo.Server(host,port,{auto_reconnect:true});
    var db=new mongo.Db("node-mongo-examples",server,{safe:true});
    db.open(function (err,db) {
        db.collection("users", function (err,collection) {
            if(err) throw err;
            else{
                collection.find({username:{$in:["延思","三"]}}).toArray(function(err,docs){
                    if(err) throw  err;
                    else{
                        console.log(docs);
                        db.close();
                    }
                });
            }
        });
    });

    //插入一批数据,并且进行搜索type==food且price字段值小于10

    var mongo=require("mongodb");
    var host="localhost";
    var port=mongo.Connection.DEFAULT_PORT;
    var server=mongo.Server(host,port,{auto_reconnect:true});
    var db=new mongo.Db("node-mongo-examples",server,{safe:true});
    var docs=[
        {type:"food",price:11},
        {type:"food",price:10},
        {type:"food",price:9},
        {type:"food",price:8},
        {type:"book",price:9}
    ];
    db.open(function (err,db) {
        db.collection("goods", function (err,collection) {
            if(err) throw err;
            else{
                collection.insert(docs, function (err,docs) {
                    if(err) throw  err;
                    else{
                        collection.find({type:"food",price:{$lt:10}}).toArray(
                            function(err,docs){
                                if(err) throw err;
                                else{
                                    console.log(docs);
                                    db.close();
                                }
                            }
                        );
                    }
                })
            }
        });
    });

    查询中的或的表达:

    collection.find({$or:[
        {type:"food"},
        {price:{$lt:10}}
      ]})
  • 相关阅读:
    magento 产品目录全部修改 :
    zencart 支付流程总结
    去掉 power by ecshop的方法
    ECSHOP实现收货国家省市由选择下拉菜单改为手动
    MYSQL的随机抽取实现方法
    Ecshop中导航栏中使用二级菜单显示并调用子分类
    打包遇到的问题
    jQuery is not defined问题
    实现表格中每行展开收起内容
    jQuery对象与DOM对象的相互转化
  • 原文地址:https://www.cnblogs.com/mracale/p/5845148.html
Copyright © 2011-2022 走看看