javascript中对象之间的映射关系

时间:2015-11-20 13:22:53

标签: javascript mongodb object meteor

我正在使用meteor进行开发,使用mongo db作为商店。这意味着所有操作都只是显示对象值(前端)或操作对象(后端)。例如,来自[user] collection" copy" value(userId)到[message]集合但是键名不同。有没有更好的方法 描述两个对象之间的关系,而不是使用

message.userId = user._id

可能使用对象来描述

{"userId","_id"}

1 个答案:

答案 0 :(得分:0)

有许多方法可以给猫皮肤。我就是这样做的。

我首先要创建一个带有键值对的映射对象,它们代表两个对象之间的字段关系。键是第一个对象的键,值是第二个对象的键。

{
    "userId":"_id",
    "userName":"name"
    //...
}

然后我会使用这样的函数将映射对象应用于两个对象:

function applyMapping(fromObj, toObj, mappingObj) {
    for (fromKey in mappingObj) {
        var toKey = mappingObj[fromKey];
        toObj[toKey] = fromObj[fromKey];
    }
}