我正在使用meteor进行开发,使用mongo db作为商店。这意味着所有操作都只是显示对象值(前端)或操作对象(后端)。例如,来自[user] collection" copy" value(userId)到[message]集合但是键名不同。有没有更好的方法 描述两个对象之间的关系,而不是使用
message.userId = user._id
可能使用对象来描述
{"userId","_id"}
答案 0 :(得分:0)
有许多方法可以给猫皮肤。我就是这样做的。
我首先要创建一个带有键值对的映射对象,它们代表两个对象之间的字段关系。键是第一个对象的键,值是第二个对象的键。
{
"userId":"_id",
"userName":"name"
//...
}
然后我会使用这样的函数将映射对象应用于两个对象:
function applyMapping(fromObj, toObj, mappingObj) {
for (fromKey in mappingObj) {
var toKey = mappingObj[fromKey];
toObj[toKey] = fromObj[fromKey];
}
}