zoukankan      html  css  js  c++  java
  • node操作mongoDB数据库的最基本例子

    连接数据库

     1 var mongo=require("mongodb");
     2 var host="localhost";
     3 var port=mongo.Connection.DEFAULT_PORT;
     4 var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器
     5 var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象
     6 db.open(function (err,db) {//连接数据库
     7     if(err)
     8         throw err;
     9     else{
    10         console.log("成功建立数据库连接");
    11         db.close();
    12     }
    13 });
    14 db.on("close", function (err,db) {//关闭数据库
    15     if(err) throw err;
    16     else console.log("成功关闭数据库.");
    17 });

    插入数据:

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

     1 var mongo=require("mongodb");
     2 var host="localhost";
     3 var port=mongo.Connection.DEFAULT_PORT;
     4 var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器
     5 var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象
     6 db.open(function (err,db) {//连接数据库
     7     if(err)
     8         throw err;
     9     else{
    10         db.collection("users", function (err,collection) {
    11             collection.insert({username:"盼盼",firstname:"李"}, function (err,docs) {
    12                 console.log(docs);
    13                 db.close();
    14             });
    15         });        
    16     }
    17 });
    18 db.on("close", function (err,db) {//关闭数据库
    19     if(err) throw err;
    20     else console.log("成功关闭数据库.");
    21 });

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

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

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

    当foreClose为true时:

     1 var mongo=require("mongodb");
     2 var host="localhost";
     3 var port=mongo.Connection.DEFAULT_PORT;
     4 var server=new mongo.Server(host,port,{auto_reconnect:true});//创建数据库所在的服务器服务器
     5 var db=new mongo.Db("node-mongo-examples",server,{safe:true});//创建数据库对象
     6 db.open(function (err,db) {//连接数据库
     7     if(err)
     8         throw err;
     9     else{
    10         db.collection("users", function (err,collection) {
    11             collection.insert({username:"盼盼",firstname:"李"}, function (err,docs) {
    12                 console.log(docs);
    13                 db.close(false);
    14             });
    15         });
    16     }
    17 });
    18 db.once("close", function (err,db) {//关闭数据库
    19     if(err) throw err;
    20     else {
    21         db.open(function (err,db) {
    22             db.collection("users", function (err,collection) {
    23                 collection.insert({username:"三",firstname:"张"}, function (err,docs) {
    24                     if(err) throw  err;
    25                     else{
    26                         console.log(docs);
    27                         db.close(true);
    28                     }
    29                 })
    30             });
    31         });
    32     }
    33 });

    //读取数据

    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}}

      ]})

  • 相关阅读:
    Eclipse集成Maven的Web工程demo(独立及Maven集成tomcat)
    Spring Boot的常见配置项解析
    SpringBoot入门demo
    简单句障碍的解决
    阅读理解(2000年统考)
    Java Web项目实战第1篇之环境搭建
    [STM32F10x] 利用定时器测量脉冲宽度
    [STM32F10x] 利用定时器测量频率
    STM32 输入捕获的脉冲宽度及频率计算
    RT-Thread—STM32—在线升级(Ymodem_OTA、HTTP_OTA)
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/4111734.html
Copyright © 2011-2022 走看看