2016-03-01 2 views
-1

Учитывая это, как выход Монго найти командыкак использовать значение в качестве ключа в 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

Что лань JE значит с ключом ?, вы можете создающие (единственный) индекс на поле, но нет внешнего ключа отношения в MongoDB см https: //docs.mongodb.org –

+0

значение tag1 в качестве столбца и значение, как и { "Каст": NumberInt (8388), "ключ" : "T_SUB_CAT", "значение": "6", " tag1 ":" T_RECENT_SUB_CAT_3 " } в вышеуказанном случае требуется, чтобы результат был бы как { "Каст": NumberInt (8388), "T_RECENT_SUB_CAT_3": "6", } надеюсь, у понять это требование. – jackSparrow

+0

ключ - это имя столбца, в котором нет ничего. – jackSparrow

ответ

0

поставить весь результат в варе сказать 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} 
) } 
Смежные вопросы