mongo Model增删改查

Model方法

   增
    model.create({}/[{},...],回调函数(err对象));
    const xx=new model({xx});  xx.save(function(err,data){xx})

   查									
    modole.find({查询条件},"字段1 字段2 -字段3"/可选,{skip:数值,limit:数值}/可选,function(err,docs文档返回数组){...});  
    	第二个参数查询指定显示的内容0和-表示不显示(不返回),也可用{条件:0}来表示不显示
    
    modole.findOne({查询条件},"字段1 字段2 -字段3"/可选,{skip:数值,limit:数值}/可选,function(err,doc文档对象){...});查询符合条件的第一个文档对象,可直接.操作
    modole.findById("id字符串",function(err,doc对象){...}));  返回的doc对象可直接.操作
    限定查找条件和数据库的修饰符一样
    model.count({条件,{}为所有},回调函数(err对象,num结果));  查询数据库的个数

   改
    model.update({修改条件},{新内容},配置选项{multi:true修改多个},回调函数);
    model.updateOne({修改条件},{新内容},配置选项,回调函数);
    model.findByIdAndUpdate({_id:'xx'},{新内容},回调(err,修改前doc))
    model.updateMany({修改条件},{新内容},配置选项,回调函数);
    和数据库的修饰符一样

    删
     model.remove({删除条件},回调函数);
     model.deleteOne({删除条件},回调函数);
     model.deleteMany({删除条件},回调函数);

代码示例:

/**
 * Created by 10853 on 2020/1/31.
 */

    //mongoose
var mongoose =require('mongoose');
mongoose.connect('mongodb://localhost/play',{ useNewUrlParser: true, useUnifiedTopology: true });


//schema
var schema=mongoose.Schema;

var stuSch=new schema({
  name:String,
  age:Number,
  address:String,
  gender:{
    //该字段类型是String,默认值是female,插入时不写也会自动添加
    type:String,
    default:'female'
  }

})

//model
var Mod=mongoose.model('student',stuSch);

//Mod.create({name:'swk',age:18,gender:'male',address:'hgs'},function(err){if(!err){console.log('插入成功')}})
//Mod.create([{name:'zbj',age:19,gender:'male',address:'hgs'},{name:'ts',age:17,gender:'male',address:'hgs'}],function(err){if(!err){console.log('成功')}});

Mod.find({name:'ts'},function(err,docs){
    if(!err)
    {
        console.log(docs);
    }
})


Mod.find({},"age address -_id ",{skip:2,limit:1},function(err,docs){console.log(docs)});
Mod.findOne({},function(err,doc){
    console.log(doc.name);
})
Mod.findById("5e33cb729fd25c5098e1ed47",function(err,doc){console.log(doc)})

Mod.updateOne({name:'ts'},{$set:{name:'tss'}},function(err){if(!err){console.log('修改成功')}});

Mod.remove({name:'tss'},function(err){if(!err){console.log('删除成功')}});

Mod.count({},function(err,num){if(!err){console.log(num)}});

mongoose.connection.once('open',function(){
  console.log('数据库已连接');
})


mongoose.connection.once('close',function(){
  console.log('数据库已断开')
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值