zoukankan      html  css  js  c++  java
  • 87.node.js操作mongoDB数据库示例分享

    转自:https://www.cnblogs.com/mracale/p/5845148.html

    连接数据库

     

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

    //读取数据

     

     1 var mongo=require("mongodb");
     2 var host="localhost";
     3 var port=mongo.Connection.DEFAULT_PORT;
     4 var server=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     db.collection("users", function (err,collection) {
     8         if(err) throw err;
     9         else{
    10             collection.find({}).toArray(function(err,docs){
    11                 if(err) throw  err;
    12                 else{
    13                     console.log(docs);
    14                     db.close();
    15                 }
    16             });
    17         }
    18     });
    19 });

    //带查询条件的搜索

     

     1 var mongo=require("mongodb");
     2 var host="localhost";
     3 var port=mongo.Connection.DEFAULT_PORT;
     4 var server=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     db.collection("users", function (err,collection) {
     8         if(err) throw err;
     9         else{
    10             collection.find({username:{$in:["延思","三"]}}).toArray(function(err,docs){
    11                 if(err) throw  err;
    12                 else{
    13                     console.log(docs);
    14                     db.close();
    15                 }
    16             });
    17         }
    18     });
    19 });

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

     1 var mongo=require("mongodb");
     2 var host="localhost";
     3 var port=mongo.Connection.DEFAULT_PORT;
     4 var server=mongo.Server(host,port,{auto_reconnect:true});
     5 var db=new mongo.Db("node-mongo-examples",server,{safe:true});
     6 var docs=[
     7     {type:"food",price:11},
     8     {type:"food",price:10},
     9     {type:"food",price:9},
    10     {type:"food",price:8},
    11     {type:"book",price:9}
    12 ];
    13 db.open(function (err,db) {
    14     db.collection("goods", function (err,collection) {
    15         if(err) throw err;
    16         else{
    17             collection.insert(docs, function (err,docs) {
    18                 if(err) throw  err;
    19                 else{
    20                     collection.find({type:"food",price:{$lt:10}}).toArray(
    21                         function(err,docs){
    22                             if(err) throw err;
    23                             else{
    24                                 console.log(docs);
    25                                 db.close();
    26                             }
    27                         }
    28                     );
    29                 }
    30             })
    31         }
    32     });
    33 });

    查询中的或的表达:

     collection.find({$or:[
        {type:"food"},
        {price:{$lt:10}}
      ]})

  • 相关阅读:
    MD代码块指定语言类型
    spring通过bean名称,方法名,反射调用服务。
    h5魔塔开坑记
    意识流CSP2021游记
    Android开发byte version = 0x80错误: 不兼容的类型: 从int转换到byte可能会有损失
    Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager解决方法
    Android开发androidstudio调试smali代码
    Android开发修改手机ro.debuggable=1便于调试应用程序
    window环境下载Android系统源代码的方法
    android开发jni开发遍历文件夹下的文件以及目录
  • 原文地址:https://www.cnblogs.com/sharpest/p/8258586.html
Copyright © 2011-2022 走看看