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;
  }
};

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...