mongodb--nodejs

首先要确保mongodb的正确安装,安装参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux

然后下载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);
          });
      });


 结果如图所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种容器化解决方案,Docker Compose可以简化多个容器的管理和部署流程。Nacos是一个用于服务发现、配置管理和动态DNS服务的开源平台。Node.js是一个基于JavaScript的开源、跨平台的运行时环境,用于构建可扩展的网络应用程序。MongoDB是一个高性能、文档型NoSQL数据库,适用于处理大量的结构化和非结构化数据。MySQL是一个开源的关系型数据库管理系统,用于存储和管理结构化数据。Redis是一个基于内存的高性能键值存储系统,用于缓存和数据持久化。Seata是一个开源的分布式事务解决方案,用于保证分布式系统中的数据一致性。 通过Docker Compose,我们可以轻松地将这些不同的组件和服务以容器化的方式部署在一台或多台服务器上。我们可以使用Docker Compose的配置文件定义每个服务的镜像、端口映射、环境变量等设置。在这个场景中,我们可以将Nacos、Node.js、MongoDB、MySQL、Redis和Seata分别作为独立的服务进行定义。 使用Docker Compose可以简化部署过程,只需运行一个命令即可启动整个应用程序的容器群组。Docker会自动拉取和部署所需的镜像,启动容器,并通过网络连接各个服务。Nacos可以作为服务发现和配置中心,用于管理和注册各个服务的地址和配置信息。Node.js可以作为应用程序的后端逻辑进行开发,通过Nacos来发现和调用各个后端服务。MongoDB作为主要的数据存储,MySQL和Redis可以作为辅助数据存储和缓存。Seata可以用于管理和控制分布式事务,确保数据一致性。 总之,使用Docker Compose可以方便地将Nacos、Node.js、MongoDB、MySQL、Redis和Seata等组件集成在一起,并通过容器化的方式进行部署。这样做可以极大地简化应用程序的开发和部署过程,并提供高度可扩展的架构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值