微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – mongoose“_id”字段无法删除

我想使用解决方案返回“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;
  }
};

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐