.toJSON()每当 Waterline 检索记录时,它都会检查记录的模型是否定义了 customToJSON 方法; 如果是,Waterline 会将该方法添加到记录中,作为其 toJSON 属性。toJSON **不建议在代码中直接调用**。相反,它在通过调用 JSON.stringify() 对记录进行序列化时自动使用。特别是,res.json() 方法 以这种方式对对象进行字符串化。
当模型定义了 customToJSON 时,.toJSON() 方法将被添加到通过 .find()、.findOne()、.findOrCreate() 和 .stream() 检索的记录,以及通过在对 .create()、.createEach()、.update() 和 .destroy() 的调用中将 fetch 元键 设置为 true 而检索到的记录。如果任何子记录通过 .populate() 附加,并且相应的模型具有 customToJSON 方法,那么子记录也将具有附加的 .toJSON() 函数。
有关如何自定义记录呈现方式的更多信息,请参阅 customToJSON 文档。