.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 文档。