填充方法中的 Mongoose return id 而不是 _id

Mongoose return id instead of _id in populate method

我有两个相关模型:RecipeUser

当我使用 populate() 从数据库中获取食谱和相关用户时,我希望返回的用户对象具有 id 属性 而不是 _id 属性.

const recipe = await Recipe.findOne({ _id }).populate('user', '-password');

当我记录用户模型的值时,我想得到这个:

{
  id: 5eea82b11a97e9429ca61778,
  name: 'John Doe',
  email: 'johndoe@gmail.com'
}

我尝试将 id 属性 添加到用户对象,但没有任何改变。我仍然得到 _id 属性.

recipe.user = { ...recipe.user, id: recipe.user_id };
    noteSchema.set('toJSON', {
  transform: (document, returnedObject) => {
    returnedObject.id = returnedObject._id.toString()
    delete returnedObject._id
    delete returnedObject.__v
  }
})

这就是我用来删除下划线的方法 - 您只需转换文档并删除不需要的位