mongoose 中如何把 _id变成 id 呈现出来,我试过了虚拟值,别名这些,发现都是一起消失跟呈现的。
我期望返回的是 id 而不是 _id,但 id 的值是 _id 的。
谢谢!
https://stackoverflow.com/questions/11557804/mongoose-virtual-fields-included-in-tojson-by-default-schemaoptions-tojson-virt 设置虚拟属性返回, Schema.set(‘toJSON’, { virtuals: true }) Schema.set(‘toObject’, { virtuals: true })
https://cnodejs.org/topic/5af14c0102591040485babdf
@HongYangHT 谢谢,这个方法我试过,是会返回 id,但是同时也会返回 _id ,囧~
schema.pre(‘find’,callback)
来自酷炫的 CNodeMD
@AnzerWall 谢谢~
核心代码是这个:
TestSchema.options.toObject = { transform(doc, ret, options) { virtuals: true, ret.id = doc.id; delete ret._id; return ret; } };
或者:
TestSchema.options.toJSON = { virtuals: true, transform(doc, ret) { ret.id = ret._id delete ret._id } }
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
https://stackoverflow.com/questions/11557804/mongoose-virtual-fields-included-in-tojson-by-default-schemaoptions-tojson-virt 设置虚拟属性返回, Schema.set(‘toJSON’, { virtuals: true }) Schema.set(‘toObject’, { virtuals: true })
https://cnodejs.org/topic/5af14c0102591040485babdf
@HongYangHT 谢谢,这个方法我试过,是会返回 id,但是同时也会返回 _id ,囧~
schema.pre(‘find’,callback)
来自酷炫的 CNodeMD
@AnzerWall 谢谢~
核心代码是这个:
或者: