nodejs_100個實例(4)_mongoose數據庫增刪改查
一、目標
實現mongoose數據庫的增刪改查功能。
二、技術
1、create 增加
2、remove 刪除
3、update 修改
4、findOne/find 查找一個/查找所有
三、源碼:
1、數據庫連接及模型創建
1 var mongoose=require('mongoose');//引用mongoose模塊 2 var db=mongoose.createConnection('mongodb://127.0.0.1:27017/nodedb');//創建一個數據庫連接,nodedb為庫名 3 db.on('error',function(error){//連接錯誤 4 console.log('+'+error); 5 }) 6 var schema=new mongoose.Schema({//數據模型,包括屬性及行為 7 name:{type:String}, 8 password:{type:String} 9 }); 10 var monModel=db.model('users',schema);//發布該Model
2、增加create
1 monModel.create({name:'user',password:321},(err,doc)=>{ 2 if(err){ 3 console.log(err); 4 } 5 else{ 6 console.log('賬號\t'+'密碼') 7 console.log(doc.name+'\t'+doc.password); 8 9 } 10 db.close(); 11 })
3、刪除remove
1 monModel.remove({name:'user'},(err,doc)=>{ 2 if(err){ 3 console.log(err); 4 } 5 else{ 6 console.log(doc) 7 console.log('刪除完畢'); 8 9 } 10 db.close(); 11 });
4、修改update
monModel.update({name:'user'},{$set:{name:'更新'}},function(err,doc){ if(err)console.log(err); else{ console.log(doc); console.log('update!'); } })
5、查找find/findOne
(1)find
1 monModel.find({name:'user'},function(err,doc){ 2 if(err){ 3 console.log(err); 4 } 5 else{ 6 if(!doc||doc.length==0){ 7 console.log('用戶名不存在!'); 8 return; 9 } 10 11 console.log('賬號\t'+'密碼') 12 for(var i in doc) 13 console.log(doc[i].name+'\t'+doc[i].password); 14 } 15 db.close(); 16 });
(2)findOne
1 monModel.findOne({name:'user'},{name:1,password:1},function(err,doc){ 2 if(err){ 3 console.log(err); 4 } 5 else{ 6 if(!doc){ 7 console.log('用戶名不存在!'); 8 return; 9 } 10 console.log('賬號\t'+'密碼') 11 console.log(doc.name+'\t'+doc.password); 12 13 } 14 db.close(); 15 });