• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    mongoose中save無法獲取回調函數值的解決方法

    2018-7-18    seo達人

    如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

    mongoose保存數據:

    const save = new Model(data).save()
        
    • 1

    如果成功,則可以獲取到保存在數據庫的值,但是如果保存數據失敗,則會拋出異常,好在save可以傳入一個回調函數,用法如下:

    const save = new Model(data).save((err, result)=>{ if(err){ // 保存失敗執行的操作
        }else { // 保存成功執行的操作
        }
    
    })
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    我們希望根據結果獲取到不同的值,但是此時save返回的是undefined,因為save中的回調函數是一個異步操作

    解決方法:

    使用try catch:

    try{
        const save = await new Model(data).save();
        // 保存成功執行的操作 return ... }catch(err){
        // 保存失敗執行的操作 return ... }
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    注意:在async函數中才可以這么使用,因為await只能用在async函數中

    示例:(注冊功能)

    user.model.js

    const mongoose  = require("mongoose"); const port      = process.env.PORT || "8899"; const UserSchema = mongoose.Schema({
        userName: {
            type: String,
            unique: true },
        passWord: String,
        createTime: {
            type: Date, default: Date.now()
        },
        updateTime: {
            type: Date, default: Date.now()
        }
    }, {
        timestamps: {
            createAt: "createTime",
            updateTime: "updateTime" }
    });
    
    module.exports = mongoose.model("USER", UserSchema);
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    service.js

    const User = require("./user.model);
    class User{
        async login(user){
                try{
                    const result = await new User(user).save();
                    // 其他操作,如發送注冊郵件
                    return { success: true }
                }catch(err){
                    return { success: false, message: "用戶名或密碼錯誤" }
                }
       }
    }
    moduel.exports = new User();
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    controller.js

    const server = require("./server); async login(){ // 首先獲取請求中攜帶的用戶信息 const result = await server.login(user);
        if(result.success){ // 注冊成功執行的操作 }else { // 注冊失敗執行的操作 }
    }
    藍藍設計m.lzhte.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://m.lzhte.cn

    存檔

    主站蜘蛛池模板: 庄河市| 乌苏市| 欧美性成人| 国产超高清麻豆精品传媒麻豆精品| 亚洲人成人网站18禁| 亚洲欧美在线一区中文字幕| 久久久亚洲精品无码| 国产精品片211在线观看| 亚洲麻豆av成本人无码网站| 亚洲国产色播AV在线| 石林| 亚洲aⅴ永久无码精品毛片| 国产成人亚洲综合色| 日韩精品中文字幕一区| 国内精品国产三级国产AV| 1024在线看国产亚洲欧美| 办公室娇喘的短裙老师在线视频| 欧美大屁股XXXX高跟欧美黑人| 精品无套挺进少妇内谢| 中文字幕AV在线一二三区| 亚洲情XO亚洲色XO无码| 午夜性色福利在线视频福利| 欧美三级大片| 欧美足交视频| 日韩一级a毛大片在线视频试看 | 国产精品第三页在线看| 成人污视频在线观看| 91极品美女高潮叫床在线观看| 欧美日韩免费一区二区三区视频播放 | 午夜福利久久| 婷婷六月在线精品免费视频观看| 中文字幕无码第1页| 专栏| 精品香蕉99久久久久网站| 日本一区二区不卡在线| 三级网址大全| 国产亚洲aⅴ在线电影| 999国内精品永久免费视频| 高潮喷水白浆在线观看| AV在线不卡观看免费观看| 久久伊人蜜桃av一区二区|