首页 > 解决方案 > Mongoose:为什么要将接收到的数据转换为对象

问题描述

我正在学习猫鼬,我正在努力弄清楚。为什么需要 toObject() 将接收到的数据转换为对象,当它似乎已经是对象形式时

这是代码:

UserSchema.methods.toJSON = function() {
  var user = this;
  var userObject = user.toObject();

  return _.pick(userObject, ['_id', 'email']);
};

我不明白为什么要使用 toObject() 从对象中提取有意义的属性。

谢谢

标签: expressmongooselodash

解决方案


toObject是一种猫鼬文档方法Document.prototype.toObject(),它:

将此文档转换为纯 javascript 对象,准备存储在 MongoDB 中。

你可以在这里了解更多

之所以在那里调用它,是因为需要一个普通的 JS 对象来执行 lodash _.pick,这将创建一个只有_idemail属性的新对象。


推荐阅读