鍍金池/ 問答/Python  數(shù)據(jù)庫  HTML/ 為什么mongo表修改一個(gè)字段屬性會(huì)導(dǎo)致node后臺(tái)報(bào)錯(cuò)?

為什么mongo表修改一個(gè)字段屬性會(huì)導(dǎo)致node后臺(tái)報(bào)錯(cuò)?

有一個(gè)plan表

/*預(yù)案模型*/
        plan_model : {
            name : "plan_model",
            cols : {
                PLAN_YABM: String,                         //預(yù)案編碼
                PLAN_TITLE : String,                       //標(biāo)題
                PLAN_TYPE : String,                        //類別 (自然災(zāi)害、行為異常、突發(fā)事件、數(shù)據(jù)異常、其他異常)
                PLAN_CONTENT : String,                     //內(nèi)容
                PLAN_SJXZ: String,                         //事件性質(zhì)
                PLAN_YACJ: Number,                         //預(yù)案層級(特別重大0,特大1,重大2,一般3)
                PLAN_BZR: String,                          //編制人
                PLAN_CBDW: String,                         //出版單位(編制人崗位)
                PLAN_BZRQ: String,                         //編制日期
                PLAN_SHR: String,                          //審核人
                PLAN_SHZT: String,                         //審核狀態(tài)(未審核0,未通過1,通過未發(fā)布2,通過已發(fā)布3)
                PLAN_TJSH: String,                         //是否提交審核(未提交0,已提交1)
                PLAN_DELETE: String,                       //是否刪除(未刪除0,已刪除1)
                PLAN_XGR: String,                          //修改人
                PLAN_XGRQ: String,                         //修改日期
            }
        },

當(dāng)我把 PLAN_SHZT: String 改為 PLAN_SHZT: Number時(shí),刷新頁面 就會(huì)報(bào)錯(cuò):

_http_outgoing.js:494
    throw new Error('Can\'t set headers after they are sent.');
    ^

Error: Can't set headers after they are sent.
    at validateHeader (_http_outgoing.js:494:11)
    at ServerResponse.setHeader (_http_outgoing.js:501:3)
    at ServerResponse.header (f:\prisons-platform\node_modules\express\lib\response.js:662:10)
    at ServerResponse.send (f:\prisons-platform\node_modules\express\lib\response.js:146:12)
    at ServerResponse.json (f:\prisons-platform\node_modules\express\lib\response.js:235:15)
    at ServerResponse.send (f:\prisons-platform\node_modules\express\lib\response.js:134:21)
    at f:\prisons-platform\server\api\home\home.controller.js:221:36
    at f:\prisons-platform\node_modules\kareem\index.js:160:11
    at Query._find (f:\prisons-platform\node_modules\mongoose\lib\query.js:984:5)
    at f:\prisons-platform\node_modules\kareem\index.js:156:8
    at f:\prisons-platform\node_modules\kareem\index.js:18:7
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

具體原因不知道是為什么,其他字段改成Number都沒事,只有這個(gè)字段。

plan_model : {
            name : "plan_model",
            cols : {
                PLAN_YABM: Number,                         //預(yù)案編碼
                PLAN_TITLE : Number,                       //標(biāo)題
                PLAN_TYPE : Number,                        //類別 (自然災(zāi)害、行為異常、突發(fā)事件、數(shù)據(jù)異常、其他異常)
                PLAN_CONTENT : Number,                     //內(nèi)容
                PLAN_SJXZ: Number,                         //事件性質(zhì)
                PLAN_YACJ: Number,                         //預(yù)案層級(特別重大0,特大1,重大2,一般3)
                PLAN_BZR: Number,                          //編制人
                PLAN_CBDW: Number,                         //出版單位(編制人崗位)
                PLAN_BZRQ: Number,                         //編制日期
                PLAN_SHR: Number,                          //審核人
                PLAN_SHZT: String,                         //審核狀態(tài)(未審核0,未通過1,通過未發(fā)布2,通過已發(fā)布3)
                PLAN_TJSH: Number,                         //是否提交審核(未提交0,已提交1)
                PLAN_DELETE: Number,                       //是否刪除(未刪除0,已刪除1)
                PLAN_XGR: Number,                          //修改人
                PLAN_XGRQ: Number,                         //修改日期
            }
        },

這樣都沒有報(bào)錯(cuò)。只有那PLAN_SHZT改,就報(bào)錯(cuò)。

有沒有遇到類似的, 或者 說說 感覺是什么原因 我改改看。

回答
編輯回答
安于心

從這報(bào)錯(cuò)來看應(yīng)該是你在res.send()或者其它方法,已經(jīng)發(fā)送了返回請求后,又發(fā)送了一遍返回請求。
既然你覺得改了PLAN_SHZT這方面的問題,可以檢查下邏輯,看看是否因?yàn)檫@個(gè)問題導(dǎo)致發(fā)生了多次的res響應(yīng)。

2017年5月25日 14:45