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

猜你喜欢

转载自blog.csdn.net/qfxlw/article/details/84983747
今日推荐