nodejs_100個實例(4)_mongoose數據庫增刪改查


 

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 });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM