【发布时间】:2020-02-12 03:44:34
【问题描述】:
我必须定义一个errorMessages 子文档来保存一个混合类型的数组吗? (当我必须在该子文档的数组中混合类型时,我该怎么做)
仅使用数组会导致看不到任何错误消息,只有一个空数组可见。使用mongoose.Mixed 作为类型会导致显示字符串错误,但会忽略错误对象。
我对如何实现这一点有点困惑
我的架构
保存前我的文档
保存后我的文档
代码
// document is APIATicket
// error is either a string or an Error Object that has been created with new Error()
document.errorMessages.push(error);
document.save();
// other "normal" objects (created with object literals) result in the same behavior
const myObject = {msg: "Hello world"};
document.payload = myObject;
document.save();
【问题讨论】:
-
显示您的代码。
-
@Mr.Gandhi 已编辑
-
有什么问题?在您保存的对象中,
errorMessages已填充? -
@japrescott
errorMessages正确保存了类型为string的错误。errorMessages数组中object类型的条目不会被保存。只保存了一个空对象(如第三张图所示,一切都扩大到最大) -
@Twiggeh 确保在您的错误对象上编写了一个 toString 和 toJSON 函数,该函数返回一个代表您的错误的字符串
标签: javascript node.js mongoose