我想使用解决方案返回“id”字段而不是“_id”
MongoDB: output ‘id’ instead of ‘_id’
以下是我的代码:
ScenicSpotSchema.virtual('id').get(function () { var id = this._id.toString(); delete this._id; delete this.__v; return id; });
但是响应仍然有字段“id”和“_id”,似乎删除没有生效.为什么?
解决方法
我估计你需要的是jSON.这应该做你想要的:
schema.options.toJSON = { transform: function(doc,ret) { ret.id = ret._id; delete ret._id; delete ret.__v; } };