mongoose getter和socket.io

时间:2011-12-10 07:27:09

标签: mongodb node.js mongoose

假设我有一个Person模型,而Person的模式定义了一个带有getter格式的电话号码的键。当我从数据库中找到文档并查看值console.log(doc.phone)时,我看到格式正确的电话号码。当我通过socket.io传输doc时,客户端只能看到未格式化的手机版本。

确保客户端看到格式正确的数据的最佳方法是什么?


的console.log(doc.phone):

(555) 123-4567

的console.log(DOC):

{ phone: '5551234567', _id: 4ee1aa57053868bb13000002 }

我正在通过socket.io传输它们的数组,如下所示:

socket.emit('people', docs)

1 个答案:

答案 0 :(得分:1)

要回答我自己的问题,我必须在架构上覆盖toJSON,如下所示:

PersonSchema.methods.toJSON = ->
  obj = @toObject()
  obj.phone = @phone
  obj