自定义将Mongoose JSON转换为Javascript对象

Custom transform of Mongoose JSON into Javascript object

本文关键字:Javascript 对象 转换 JSON Mongoose 自定义      更新时间:2023-09-26

我想将Mongoose收到的JSON作为查询的一部分指定为Javascript对象的自定义转换。通常,使用JSON.parse()或类似的东西。我想使用我自己的转换函数,因为我想包含一个名为__length的新字段,这是通过网络接收的JSON的长度。我不想使用JSON.stringify(document_from_mongo).length(),因为我正在执行不必要的stringify操作。

我已经研究了在模式上使用自定义toObject()或toJSON()方法,但没有任何成功。谢谢!

您可以在模式级别设置自己的toJSON实现,如下所示:

var mySchema = new Schema({});
mySchema.set('toJSON', {
    transform: function(doc, ret, options) {
        ret.__length = 'set what do need';
        return ret;
    }
});
mongoose.model('mySchema', mySchema );