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('账号	'+'密码')
 7         console.log(doc.name+'	'+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('账号	'+'密码')
12         for(var i in doc)
13         console.log(doc[i].name+'	'+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('账号	'+'密码')
11         console.log(doc.name+'	'+doc.password);
12         
13     }
14     db.close();
15 });
原文地址:https://www.cnblogs.com/carsonwuu/p/8709690.html