首先,這是我在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?