本文介紹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');
}
});