node.js連線mongoDB資料庫
阿新 • • 發佈:2018-10-31
前面已經講了mongoDB資料庫的安裝和使用,今天來研究一下node.js中如何連線和使用mongoDB資料庫。
方法一:mongoose連線
一、配置mongose
增加mongose類庫
npm install mongoose
二、利用mongoose連線mongoDB資料庫
//引入模組 var mongoose = require('mongoose'); //連線資料庫 mongoose.connect('mongodb://localhost:27017/runoob'); //得到資料庫連線控制代碼 var db = mongoose.connection; //通過資料庫連線控制代碼,監聽mongoose資料庫成功的事件 db.on('open',function(err){ if(err){ console.log('資料庫連線失敗'); throw err; } console.log('資料庫連線成功') })
結果:
三、利用mongoose操作mongoDB資料庫
增加資料
1.定義表結構
var userModel = new mongoose.Schema({
id:Number,
name:String,
age:Number,
sex:String
})
2.將表的資料結構與表關聯起來
var userModel = mongoose.model('userList',userModel,'userList');
3.編寫資料
var userList = [ {id:1,name:'小明',age:14,sex:'男'}, {id:2,name:'小紅',age:12,sex:'女'}, {id:3,name:'小花',age:16,sex:'女'}, {id:4,name:'小白',age:11,sex:'男'} ]
4.向表內新增資料
userModel.insertMany(userList,(err,result) => {
if(err){
console.log('資料新增失敗');
throw err;
}
console.log('資料新增成功:',result);
})
5.匯出資料
module.exports={
userModel:userModel
}
6.檢視結果
刪除資料
userModel.deleteOne({},(err,result) => { if(err){ console.log('刪除資料成功'); throw err; } console.log("刪除資料成功"); })
結果:
方法二:MongoClient連線
//node.js操作mongoDB資料庫
/**
1.安裝mongodb
npm install mongodb --save
*/
/**
2.引入mongodb下面的MongoClient
*/
var MongoClient = require('mongodb').MongoClient;
/**
3.定義資料庫連線的地址,以及配置資料庫
*/
var url = 'mongodb://localhost:27017/';
var dbname = 'test';
/**
4.node.js連線資料庫
*/
MongoClient.connect(url,function(err,client){
if(err){
console.log('資料庫連線失敗');
return false;
}
console.log('資料庫連線成功')
const db = client.db(dbname); //資料庫db物件
//新增資料
db.collection('col').insertOne({'name':'yixuan','age':1},function(error){
if(error){
console.log('新增失敗');
return false;
}
console.log('新增成功')
//關閉資料庫
client.close();
})
//刪除資料
db.collection('col').deleteOne({'title':'banan'},function(error){
if(error){
console.log('刪除失敗');
}
console.log('刪除成功');
//關閉資料庫
client.close();
})
//修改資料
db.collection('col').updateOne({'title':'fruit'},{$set:{'title':'傷心'}},function(error){
if(error){
console.log('修改失敗');
return false;
}
console.log('修改成功')
//關閉資料庫
client.close();
})
//查詢資料
var result = [];
var userRel = db.collection('col').find();
userRel.each(function(error,data){
if(error){
console.log('查詢錯誤');
return false;
}
console.log(data);
client.close();
})
})