2017-01-06 1 views
0

Я пытаюсь использовать Mongoose для проверки на стороне клиента. У меня есть следующий код (это Реагировать компонент):Mongoose - Получение Uncaught 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

мне нужно установить пакет Promise, чтобы решить эту проблему:

var mongoose = require('mongoose'); 
var bluebird = require('bluebird'); 
mongoose.Promise = bluebird; 

 Смежные вопросы

  • Нет связанных вопросов^_^