博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongodb--nodejs
阅读量:4072 次
发布时间:2019-05-25

本文共 3651 字,大约阅读时间需要 12 分钟。

首先要确保mongodb的正确安装,安装参照:

然后下载nodejs的mongodb的driver

npm install mongodb

编写一个测试的程序:

var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
    if(!err)
    {   
        console.log('connect');
    }else{
        console.log(err);
    }   
});

如果最终显示connect则说明成功。

对mongodb的collection的操作

有两种方法链接collection,分别为:

db.collection('mycoll',function(err,coll){});

db.createCollection('mycoll',function(err,coll){});

这两种方法还有第二个可选参数{safe:true},这个参数的作用对于第一种方法,如果加上了这个参数,那么当collection不存在的时候则报错,对于第二种方法,则当collection存在的时候报错

示例:

var mongodb = require('mongodb');

var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
    if(!err)
    {   
      console.log('connect');
      db.collection('mycoll',{safe:true},function(err,collection){
          if(err){
              console.log(err);
          }   
      });
    }else{
        console.log(err);
    }   
});

 结果如图所示:

 

示例:

var mongodb = require('mongodb');

var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
    if(!err)
    {   
      console.log('connect');
      db.createCollection('mycoll',{safe:true},function(err,collection){
          if(err){
              console.log(err);
          }   
      });
    }else{
        console.log(err);
    }   
});

 结果如图所示:

 

删除collection则使用dropCollection函数即可:

示例:

var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
    if(!err)
    {   
      console.log('connect');
      db.dropCollection('mycoll',{safe:true},function(err,result){
         console.log(result);
      });
    }else{
        console.log(err);
    }

结果如图所示:

 

对collection进行增删改查

向collection添加数据使用insert函数

示例:

var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
    if(!err)
    {   
      db.collection('mycoll',{safe:true},function(err,collection){
          var tmp1 = {title:'hello',number:1};
          collection.insert(tmp1,{safe:true},function(err,result){
              console.log(result);
          });
    });
    }else{
        console.log(err);
    }   
});

结果如图:

 

对数据进行更新:

示例:

var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
    if(!err)
    {
      db.collection('mycoll',{safe:true},function(err,collection){
          collection.update({title:'hello'},{$set:{number:3}},{safe:true},function(err,result){
              console.log(result);
          });
    }else{
        console.log(err);
    }
});

 

结果如图所示:

 

对数据进行删除使用remove函数

 示例:

var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
    if(!err)
    {
      db.collection('mycoll',{safe:true},function(err,collection){
          collection.remove({title:'hello'},{safe:true},function(err,result){
              console.log(result);
          });
        
    }else{
        console.log(err);
    }         
                                
});

结果如图:

 

如果remove没有任何的参数,则删除全部。

查找操作,查找操作有两个方法一个是find,一个是findOne

示例:

var mongodb = require('mongodb');

var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});

var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
    if(!err)
    {   
      db.collection('mycoll',{safe:true},function(err,collection){
          var tmp1 = {title:'hello'};
          var tmp2 = {title:'world'};
          collection.insert([tmp1,tmp2],{safe:true},function(err,result){
              console.log(result);
          });
          collection.find().toArray(function(err,docs){
              console.log('find');
              console.log(docs);
          });
          collection.findOne(function(err,doc){
              console.log('findOne');
              console.log(doc);
          });
      });

 结果如图所示:

转载地址:http://tjrji.baihongyu.com/

你可能感兴趣的文章
fhs-framework springboot mybatis 解决表关联查询问题的关键方案-翻译服务
查看>>
ZUUL2 使用场景
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
elastic-job 和springboot 集成干货
查看>>
php开发微服务注册到eureka中(使用sidecar)
查看>>
mybatis mybatis plus mybatis jpa hibernate spring data jpa比较
查看>>
支付宝生活号服务号 用户信息获取 oauth2 登录对接 springboot java
查看>>
CodeForces #196(Div. 2) 337D Book of Evil (树形dp)
查看>>
uva 12260 - Free Goodies (dp,贪心 | 好题)
查看>>
uva-1427 Parade (单调队列优化dp)
查看>>
【设计模式】学习笔记13:组合模式(Composite)
查看>>
hdu 1011 Starship Troopers (树形背包dp)
查看>>
hdu 1561 The more, The Better (树形背包dp)
查看>>
【设计模式】学习笔记14:状态模式(State)
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
斯坦福大学机器学习——因子分析(Factor analysis)
查看>>
项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved
查看>>
linux对于没有写权限的文件如何保存退出vim
查看>>
Windows下安装ElasticSearch6.3.1以及ElasticSearch6.3.1的Head插件
查看>>
IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结
查看>>