2016-03-01 52 views
-1

使用值为键鉴于这是蒙戈的输出find命令如何在MongoDB中

{ 
    "cust" : NumberInt(8388), 
    "key" : "T_SUB_CAT", 
    "value" : "98", 
    "tag1" : "T_RECENT_SUB_CAT_1" 
},{ 
    "cust" : NumberInt(8388), 
    "key" : "T_SUB_CAT", 
    "value" : "109", 
    "tag1" : "T_RECENT_SUB_CAT_2" 
},{ 
    "cust" : NumberInt(8388), 
    "key" : "T_SUB_CAT", 
    "value" : "6", 
    "tag1" : "T_RECENT_SUB_CAT_3" 
} 

如何使用聚合和$项目得到结果像

{ 
    "cust" : NumberInt(8388), 
    "T_RECENT_SUB_CAT_1" : "98", 
    "T_RECENT_SUB_CAT_2" : "109", 
    "T_RECENT_SUB_CAT_3" : "6" 
} 

请帮我使用项目/总计

非常感谢

+0

什么母鹿济与关键意思?你可以在一个领域创造一个(唯一)的索引,但 有MongoDB中看到的是https任何外键关系: //docs.mongodb.org –

+0

值TAG1作为列和值的, 像 { “卡斯特”:NumberInt(8388), “键”: “T_SUB_CAT”, “值”: “6”, “ tag1“:”T_RECENT_SUB_CAT_3“ } 在上面需要的是,结果会像 { “cust”:NumberInt(8388), “T_RECENT_SUB_CAT_3”:“6”, } 希望你明白要求。 – jackSparrow

+0

关键是一个列的名称,它不是什么spl – jackSparrow

回答

0

把所有导致VAR说cust2,

while(cust2.hasNext()){ 
var document = cust2.next(); db.<collection>.update( 
{ cust: document.cust, tag1:document.tag1 }, 
{ cust:document.cust , tag1:document.tag1 , 
key:document.key, value:document.value }, 
{upsert:true} 
) }