【问题标题】:Mongoose: Why to convert a received data toObjectMongoose:为什么要将接收到的数据转换为对象
【发布时间】:2019-01-17 07:31:28
【问题描述】:

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

代码如下:

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

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

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

谢谢

【问题讨论】:

  • 你为什么不 console.log(user) 并找出它包含什么?在这种情况下,this 可能包含对您没想到的东西的引用:)。使用 console.log 看看它会显示什么。
  • 好的!谢谢 Akrion
  • 不客气。如果您觉得这有帮助,请将其标记为答案,以便其他人可以更轻松地找到您问题的答案。

标签: express mongoose lodash


【解决方案1】:

toObject 是一个猫鼬文档方法Document.prototype.toObject() 其中:

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

You can more about it here

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2010-10-11
    • 1970-01-01
    • 2017-06-22
    相关资源
    最近更新 更多