2017-09-25 30 views
0

首先,這是我在stackOverFlow上的第一個問題,所以請原諒我,如果我可以更加確切地問我的問題。將res-express對象保存爲mongoose時出錯

我正在寫一個restfullAPI項目,我想在客戶端應用程序(android,ios等)中執行以下操作: 在我的代碼中那些想要使用我的api的應用程序應先請求一張票然後服務器會給他們一張票。那麼應用程序和客戶端都會發送一個http請求,客戶端會通過以ticketId作爲查詢參數的spicific url通過他/她的瀏覽器發送請求,並且會詢問他/她是否想讓應用程序訪問他/她的賬戶,應用程序將發送一個http請求,並等待客戶端允許訪問和應用程序得到通知。

sooo ...基本上我想保存應用程序請求的res對象,然後在客戶端的中間件流中響應它。 :)

,但是當我嘗試保存資源通過貓鼬對象爲蒙戈我得到這個錯誤:

的RangeError:最大調用堆棧大小超過

這裏是我的相關代碼:

這是我的路由器(第一個用於應用程序的請求,第二個用於客戶端的請求(我只是簡單地通過發送客戶端的請求中的msg給客戶端的http請求進行簡化))

router.post('/test', function (req, res, next) { 
    var t = new testRes({res:res}); 
    t.save(function (err, res) { 
     console.log('1 -- E :: ',err); 
     console.log('1 -- ::',res); 
    }) 
}); 
router.post('/test2',function (req, res, next) { 
    testRes.findById(req.body.id,function (err, res) { 
     console.log('2 -- E :: ',err); 
     res.json(req.body.msg); 
    }) 
}); 

,這是我的RES貓鼬模型:

var mongoose = require('mongoose'); 
var schema = mongoose.Schema; 

var testSchema = schema({ 
    res : {type :schema.Types.Mixed} 
}); 

module.exports = mongoose.model('testres',testSchema); 

如果你認爲我可以設計我的項目,如果你說出來,我會心存感激的另一種方式,我甚至想過讓我的應用程序在發送的請求每分鐘或有底部這樣做,但這些解決方案並不像這個解決方案那樣優雅

順便說一句:它是否有必要將所有res對象的信息保存到jest res.send?

回答

相關問題