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