Mongoose较完整的CURD操作

整理一个入门级的CURD操作:

let mongoose=require('mongoose');

let Customer=mongoose.model("Customer",{cname:String,salary:Number,birth:Date});

mongoose.connect("mongodb://localhost:27017/demo01")
.then(con=>{

    /*复位并添加一系列的试验数据*/
    // resetDb(function () {
    //     addMany(function () {
    //         con.disconnect();
    //     })
    // });

    /*添加一个*/
    // addCustomer(newObj=>con.disconnect())

    /*删除一个*/
    // deleteCustomer(rs=>{con.disconnect();console.log(rs)})

    /*更新数据*/
    update(newObj=>{con.disconnect();console.log(newObj)})
});

/* 数据清空 */
function resetDb(callback) {
    Customer.deleteMany({}).then(()=>callback())
}
/* 添加一行数据 */
function addCustomer(callback) {
    let c1=new Customer({cname:'tom',salary: 300.00,birth: new Date()});

    c1.save().then(newObj=>callback(newObj));
}

/* 添加试验数据 */
function addMany(callback) {
    let cs=[
        {cname:'tom',salary: 300.00,birth: new Date(1988,9,21)},
        {cname:'jackson',salary: 700.00,birth: new Date(1970,3,15)},
        {cname:'alice',salary: 400.00,birth: new Date(1999,7,10)},
        {cname:'john',salary: 900.00,birth: new Date(1977,1,5)},
        {cname:'linus',salary: 1200.00,birth: new Date(1965,6,21)}
        ]

   Customer.insertMany(cs,{ordered:true})
       .then(newObjs=>callback(newObjs))
}

function deleteCustomer(callback) {
    //成功的返回:{ n: 1, ok: 1, deletedCount: 1 }
    Customer.deleteOne({_id:'5c8f528f80964d4d5382fcb3'})
        .then(rs=>callback(rs))

}


function update(callback) {
    Customer.findOneAndUpdate({_id:'5c8f4c2c29c37c4ced64929f'},{$inc:{salary:100}},{new:true})
        .then(newObj=>callback(newObj))
}


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 整天为了这两个孩子忙的手脚不沾地,小的感冒,大的让我无法用语言表达。 我的老大啊!我发现你才是我的冤家。
    两个千金阅读 140评论 0 0
  • 2018年5月19日星期六 水之所以能 滴穿石头根本就 两条 ①方向始终如一 ②持续不断的滴 试问 水都可以滴穿石...
    实干作品阅读 138评论 0 0
  • 莫问烟云何处家,芒鞋一双走天涯。 破钵盛尽天下酒,绝类弥勒笑哈哈。
    酒借七分阅读 274评论 0 2
  • 1、亲爱的,你觉得我美吗? 2、因为你是星星啊,所以我都碰不到。 3、牛郎和织女都比我们好,她们有银河可以相见,可...
    f35b20449257阅读 1,040评论 0 1