2011-12-10 75 views
0

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

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


的console.log(doc.phone):

(555) 123-4567

的console.log(DOC):

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

我发送它们的阵列over socket.io like so:

socket.emit('people', docs)

+0

你怎么上传输socket.io的文档,也可以粘贴的console.log输出(doc.phone)好吗? – alessioalex

+0

是的,我刚刚更新了代码和输出的问题。 –

+0

这真的很奇怪,但我不认为这个错误来自于Socket.IO,我认为你以后要格式化代码或者类似的东西..检查你的代码 – alessioalex

回答

1

要回答我的问题,我不得不重写的toJSON在架构就像这样:

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