2017-01-06 27 views
0

我正在嘗試使用Mongoose進行客戶端模型驗證。我有以下代碼(這是一個陣營分量):Mongoose - 驗證客戶端文檔時獲取未捕獲的RangeError

import templateSchema from '../../../shared/schemas/templateSchema.js'; 
var mongoose = require('mongoose'); 
var TemplateDocSchema = new mongoose.Schema(templateSchema); 

class TemplateEditInfo extends Component { 
    ... 
    saveStage(e) { 
     var doc = new mongoose.Document({}, TemplateDocSchema); 
     doc.validate(function(error) { 

     }); 
    } 
    ... 
} 

doc.validate功能在瀏覽器中拋出下面的錯誤(最新的Chrome):

Uncaught RangeError: Maximum call stack size exceeded at Object.exports.deprecate (eval at (app.js:866), :65:29) at Promise.eval (eval at (app.js:866), :69:22) at Promise.eval (eval at (app.js:866), :69:41) at Promise.eval (eval at (app.js:866), :69:41) at Promise.eval (eval at (app.js:866), :69:41) at Promise.eval (eval at (app.js:866), :69:41) at Promise.eval (eval at (app.js:866), :69:41) at Promise.eval (eval at (app.js:866), :69:41) at Promise.eval (eval at (app.js:866), :69:41) at Promise.eval (eval at (app.js:866), :69:41)

架構如下:

const templateSchema = { 
    ref: {type: Number} 
}; 
export default templateSchema; 

回答

0

我需要安裝一個軟件包的承諾來解決這個問題:

var mongoose = require('mongoose'); 
var bluebird = require('bluebird'); 
mongoose.Promise = bluebird; 
相關問題