<strike id="g3zqm"></strike>

      <cite id="g3zqm"></cite>

        <tr id="g3zqm"><center id="g3zqm"></center></tr>
        <pre id="g3zqm"><sup id="g3zqm"></sup></pre>
        <li id="g3zqm"></li>
      1. 少妇高潮激情一区二区三,免费av深夜在线观看,亚洲狼人久久伊人久久伊,久久精品人人做人人爽电影蜜月,黄色特级片一区二区三区,欧美日韩在线亚洲二区综二,极品少妇无套内射视频,日本极品少妇videossexhd

        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.hengshangtqd.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

        日歷

        鏈接

        個人資料

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

        存檔

        主站蜘蛛池模板: 在线天堂av一区二区| 99久久亚洲精品无码毛片| 国产日韩精品中文字幕| 国产成人久久精品激情| 日韩亚洲AV最新在线观看| 人妻精品久久久久中文字幕69| 欧美日产国产精品日产| 成年人夜福利| 久久久一本精品久久精品六六 | 大荔县| 国产精品久久久久精| 宝贝腿开大点我添添公视频免| 内射自拍| 精品人妻国产| 久久久久久久久久久久中文字幕| 国产鲁鲁视频在线观看| 探花av| 国模免费视频| 国产欧美va天堂在线观看视频下载| 最近中文字幕免费手机版| 人妻中文字幕精品系列| 精品久久久久久无码国产| Y111111国产精品久久久| 亚洲色图导航| 亚洲性日韩精品一区二区| 日韩免费无码人妻系列| av小次郎网站| 一区二区三区午夜无码视频| 中文字幕亚洲高清在线一区| 欧美v高清资源不卡在线播放| 污污网站在线看| 中文字幕有码日韩精品| 性欧美vr高清极品| 无码中文av有码中文av| 亚洲国产人成在线观看69网站| 亚洲色无码专区在线观| 国产激情第一区二区三区| jizz.jizz| 国产精品人人爽人人爽av〖网:?1?7?6.?2?2〗| 噜噜噜色噜噜噜久久| 亚洲中文字幕日产无码成人片|