【发布时间】:2023-04-03 12:40:01
【问题描述】:
我正在尝试使用 Mongoose 进行客户端模型验证。我有以下代码(这是一个 React 组件):
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)中抛出以下错误:
未捕获的 RangeError:超过最大调用堆栈大小 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) 在 Promise.eval (eval at (app.js:866), :69:41) 在 Promise.eval (eval at (app.js:866), :69:41) 在 Promise.eval (eval 在 (app.js:866), :69:41) 在 Promise.eval (eval at (app.js:866), :69:41) 在 Promise.eval (eval at (app.js:866), :69:41) 在 Promise.eval (eval at (app.js:866), :69:41) 在 Promise.eval (eval at (app.js:866), :69:41)
架构如下:
const templateSchema = {
ref: {type: Number}
};
export default templateSchema;
【问题讨论】: