我在MongoDB/NodeJs中保存下面的模式时得到这个错误(使用Mongoose):Uncaught RangeError:超过最大调用堆栈大小。
当我在Array中的schema中添加详细信息时,会发生这种情况:
var mongoose = require('mongoose');
const Attribute = new mongoose.Schema({
context: String,
format: String,
measurand: String,
location: String,
unit: String
});
const Value = new mongoose.Schema({
value: Number,
attributes: Attribute
});
module.exports = mongoose.model('MeterValue',{
chargeBoxID: {type: String, ref: 'ChargingStation'},
connectorId: Number,
transactionId: Number,
timestamp: Date,
values: [Value]
});
有什么想法吗?
提前感谢!Serge.
2条答案
按热度按时间yizd12fk1#
我认为你必须为数组中的模型定义一个额外的模式。
例如:
4nkexdtk2#
我也得到了错误
Uncaught RangeError: Maximum call stack size exceeded.
这发生在我试图保存字段中的对象列表时。我想出来的是,你不应该通过名单,因为它是。我有一个名为
Order
的模型,它接受Items
的列表。将整个过程分为两个步骤:1.只需创建您的
Order
模型,无需列表1.使用
.findByIdAndUpdate
这里的items是模型中接受一个项目列表的字段。这样,你就不会遇到超出最大堆栈大小的问题。希望有帮助。