Mongo Aggregation Project将属性添加到Array中的所有属性

时间:2017-12-07 11:15:21

标签: mongodb aggregation-framework projection

我使用mongo 2.6并作为聚合管道的一部分,我需要为数组中的所有条目添加一个对象。因为我使用mongo 2.6我不能使用$ addFields。

我的数据如下:

{$project: {'creditAccounts'{'costCentre':'$costCenter.name','costCentreAccount':'$costCenter.number','name':'$creditAccounts.name','number':'$creditAccounts.number','amount':'$creditAccounts.amount'}, document: '$$ROOT'}}

}

作为聚合的第一步,我需要将costCenter对象添加到所有潜在的creditAccounts

做类似的事情:

var data = [1,2,3,4,5,6,7,8,9,0]

Doent工作,因为它会生成一系列名称和数字......

1 个答案:

答案 0 :(得分:0)

找到解决方案为$ map:

creditAccounts:{$map:{input:'$creditAccounts', as:'creditAcccount', in : {name:'$$creditAcccount.name',number:'$$creditAcccount.name',amount:'$$creditAcccount.amount', costCentre:'$costCenter.name',costCentreAccount:'$costCenter.number'}}}

即使它真的很难看。