node.js中如何使用mongodb数据库

本文介绍node.js项目中mongodb数据库的使用方法,相关目录结构是项目中的目录。代码先不上传,只介绍方法。

数据库使用mongodb

mongodb的服务端的安装方法是在ubuntu执行apt-get instal mongodb,安装成功之后执行/etc/init.d/mongodb start启动。

nodejs中需要添加的组件是mongoose,里面内置了mongodb客户端的组件。

目录文件

  • /config/mongoose.js 调用数据库的入口,连接数据库
  • /config/db_url.js 数据库的地址
  • /model/ 封装数据库数据模型

数据库的API

1、/config/db_url.js中指定数据库地址

module.exports={
    mongodb:"mongodb://localhost/company_website"
}

2、/model/目录中各个js文件定义数据库的数据模型,如demo.js

var mongoose=require('mongoose');
//新建模型
var  demo=new mongoose.Schema({
    username:String,
    password:String,
    status:String
});
//对外封装属性接口
mongoose.model('Demo',demo);

3、/config/mongoose.js中调用/config/db_url.js,并连接数据库,加载数据库数据模型

var mongoose=require('mongoose');
var config=require('./db_url.js');
//初始化函数
module.exports=function(){
    var db=mongoose.connect(config.mongodb);
    require('../model/demo.js');
    return db;
}

4、在app.js中调用/config/mongoose.js开始初始化数据库连接

var mongoose=require('./config/mongoose.js');
//初始化
var db=mongoose();

5、数据库查询/增加/删除,以demo为例

var mongoose=require('mongoose');
var Demo=mongoose.model('Demo');
//查询username
var username="admin";
User.findOne({username:username},function(err,doc){
    if(err){
        console.log('error');
    }
    else if(doc==null){
        console.log('not exist');
    }
    else{
        //修改查询到的对象的属性
        doc.status='1';
        doc.save(function(err){
            if(err){
                console.log('error');
            }else{
                console.log('success');
            }
        })
    }
});

//创建demo对象
var demo=new Demo(
    {
        username:username,
        password:password,
        status:'0'
    }
);
Demo.create(demo,function(err,doc){
    if(err){
        console.log('error');
    }
    console.log('success');
}); 

//删除对象
var id="xxxx";
Demo.remove({_id:id},function(err,doc){
    if(err){
        console.log('error');
    }else{
        console.log('success');
    }
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值