0
我想使用下劃線合併2個對象。目標對象是一個貓鼬模型,但我已經應用lean()
來使它返回一個javascript對象而不是mongo文檔。UnderscoreJS不會擴展對象
model.find({}).lean().exec(function (error, object) {});
然後我嘗試使用下劃線
_.extend(object, source);
延長,但它只返回源對象。 我試過用簡單的物體進行測試,並且這些工作正常,所以我假設它與貓鼬有關係?
是:工作的簡單對象是:
{foo:'foo'},{bar:'bar'}
而且我試圖合併,但一直沒能到的對象是:
{
_id: 526540eaa77883d815000029,
name: 'House',
description: '',
type: 'residential',
cost: 100,
buildTime: 5,
resources: { produces: [], required: { wood: 5 } },
population: { provides: 10, required: 0 },
requires: [],
maxLevel: 5,
upgrades:
{ '2': { resourceMultiplier: 1.2, cost: 150, time: 5 },
'3': { resourceMultiplier: 1.5, cost: 200, time: 7 },
'4': { resourceMultiplier: 2, cost: 300, time: 10 },
'5': { resourceMultiplier: 2.5, cost: 500, time: 15 } },
scale: { x: 1, y: 1, z: 1 }
}
{
empireId: '52654578a4eff60000000001',
buildingId: '526540eaa77883d815000029',
level: 1,
isComplete: false,
isUpgrading: false,
gridId: '175|0|125',
started: 1382442513823,
_id: 526666113fccae68be000003,
__v: 0
}
之前的任何人碰到這個來或不知道我哪裏錯了?
爲了澄清,我可以手動操作從貓鼬手工返回的數據,但我寧願合併對象,而不願手工操作。 –
_id需要是一個字符串。例如_id:'526540eaa77883d815000029'。否則它應該是一個有效的數字,如5265400029 ... –
上述對象僅來自console.log,_id是貓鼬對象 –