选择主题

选择导航背景

mongoose 操作mongodb数据库

//1.引入mongoose


const mongoose = require('mongoose');


//2、建立连接  

mongoose.connect('mongodb://127.0.0.1:27017/koademo',{useNewUrlParser:true});


//3、操作users表(集合)   定义一个Schema   Schema里面的对象和数据库表里面的字段需要一一对应


var UserSchema=mongoose.Schema({


    name:String,

    age:Number,

    status:Number


})

//4、定义数据库模型  操作数据库


// model里面的第一个参数 要注意:1首字母大写  2、要和数据库表(集合 )名称对应  这个模型会和模型名称相同的复数的数据库表建立连接


//var User=mongoose.model('User',UserSchema);    // 默认会操作 users表(集合)


var User=mongoose.model('User',UserSchema,'user');  //默认会操作第三个参数配置的表  user表(集合),没有第三个参数,则默认操作users表,复数的表


//5、查询users表的数据


    User.find({},function(err,doc){ 


        if(err){


            console.log(err);

            return;

        }

        console.log(doc);

    })  




//6、增加数据


    // 6.1实例化 Model     通过实例化User Molde 创建增加的数据


    //6.2 实例.save()



    var u=new User({

        name:'李四',

        age:20,

        status:1

    });


    u.save(function(err){

        if(err){

            console.log(err);


            return;

        }


        console.log('成功')


    });  //执行增加操作

========================

//1.引入mongoose


const mongoose = require('mongoose');

//2、建立连接  

mongoose.connect('mongodb://127.0.0.1:27017/koademo',{useNewUrlParser:true});

//3、定义一个Schema 

var NewsSchema=mongoose.Schema({

    title:"string",

    author:String,

    pic:String,

    content:String,

    status:Number

})


//4、定义操作数据库的Model

var News=mongoose.model('News',NewsSchema,'news');

//5、增加数据

//通过实例化 Model 创建增加的数据

    var news=new News({

        title:"我是一个新闻11111",

        author:'张三1',

        content:'我是新闻的内容',

        status:1


    });


    news.save(function(err){

        if(err){

            return console.log(err);

        }


         console.log('成功')

    });

//6、修改数据

News.updateOne(

    {"_id":"5b767455193f6630d830fc25"},   

    {"title":"我是一个新闻2222"},

    function(err,doc){

        if(err){

                return console.log(err);

            }


            console.log(doc)


    })

//删除数据

News.deleteOne({"_id":"5b767455193f6630d830fc25"}, (err,result)=>{      

            if(err){

                return console.log(err);

            }

            console.log(result)

})

=========================

//mongoose 默认参数、mongoose 模块化 、mongoose性能疑问




// mongoose 默认参数:增加数据的时候,如果不传入数据会使用默认配置的数据


var mongoose=require('mongoose');


//useNewUrlParser这个属性会在url里识别验证用户所需的db,未升级前是不需要指定的,升级到一定要指定。


mongoose.connect('mongodb://127.0.0.1:27017/koademo',{ useNewUrlParser: true },function(err){

        if(err){


            console.log(err);

            return;

        }

        console.log('数据库连接成功')

});



// 定义数据表(集合的)映射  注意:字段名称必须和数据库保持一致


var UserSchema=mongoose.Schema({


    name:String,

    age:Number,

    status:{

        type:Number,

        default:1   

    }

})


//定义model操作数据库 


var UserModel=mongoose.model("User",UserSchema,'user');



//数据的查找

// UserModel.find({},function(err,doc){

//     if(err){


//         console.log(err);

//         return;

//     }


//     console.log(doc);

// })




//数据的增加



// var user=new UserModel({

//     name:'张三88888888888888',

//     age:40,

//     status:1,

//     sex:"男"

// })


// user.save(function(err){


//     if(err){


//         console.log(err);

//         return;

//     }

//     console.log('增加数据成功')

// });

var user=new UserModel({

    name:'张三6666666666666666',

    age:30    

})


user.save(function(err){


    if(err){


        console.log(err);

        return;

    }

    console.log('增加数据成功')

});

======================

var UserModel=require('./model/user.js');



var NewsModel=require('./model/news.js');




var user=new UserModel({


    name:"李四666",

    age:40

})



user.save(function(err){


    if(err){


        console.log(err);

        return;

    }


    //获取user表的数据



    UserModel.find({},function(err,docs){


        if(err){

    

            console.log(err);

            return;

        }

        console.log(docs);

    })

})





// NewsModel.find({},function(err,docs){


//     if(err){


//         console.log(err);

//         return;

//     }

//     console.log(docs);

// })

===============

var mongoose=require('./db.js');



var UserSchema=mongoose.Schema({

    name:String,

    age:Number,

    status:{

        type:Number,

        default:1   

    }

})

module.exports=mongoose.model('User',UserSchema,'user');

=====================

console.time('user');

var UserModel=require('./model/user.js');

console.timeEnd('user');

console.time('news');

var NewsModel=require('./model/news.js');

console.timeEnd('news');

======================

预定义修饰符

var mongoose=require('./db.js');

var NewsSchema=mongoose.Schema({

    title:{

        type:String,

        trim:true    //定义 mongoose模式修饰符 去掉空格

    },

    author:String,

    pic:String,    

    content:String,

    status:{

        type:Number,

        default:1


    }

})

module.exports=mongoose.model('News',NewsSchema,'news');

=================

set修饰符给每个图片增加http

=================

var mongoose=require('./db.js');



var FocusSchema=mongoose.Schema({

    title:{

        type:String,

        trim:true    //定义 mongoose模式修饰符 去掉空格

    },   

    pic:String,    

    redirect:{

        type:String,

        set(parmas){   //增加数据的时候对redirect字段进行处理

            // parmas可以获取redirect的值 、    返回的数据就是redirect在数据库实际保存的值

            /*

             www.baidu.com              http://www.baidu.com

             http://www.baidu.com       http://www.baidu.com

            */

            if(!parmas){

                return ''

            }else{

               if(parmas.indexOf('http://')!=0 && parmas.indexOf('https://')!=0){


                    return 'http://'+parmas;

               }

                return parmas


            } 


        }

    },

    status:{

        type:Number,

        default:1


    }

})


module.exports=mongoose.model('Focus',FocusSchema,'focus');

=======================

get修饰符不建议使用

var mongoose=require('./db.js');



var UserSchema=mongoose.Schema({    

    name:{

        type:String,

        get(params){   //不建议使用

            return "a001"+params

        }   

    },

    age:Number,       

    status:{

        type:Number,

        default:1

    }

})

module.exports=mongoose.model('User',UserSchema,'user');