2015-09-15 1 views
0

У меня есть только один документ в моем mongoDB. Это:Как сделать запрос в mongo (шаблон mongo), чтобы он возвращал результат без изменений?

{ 
"_id": "32fqwefr", 
"propertyName": "configShowableField", 
"Applicant": [ 
    "R:a_FII", 
    "R:a_PN" 
], 
"Employment": [ 
    "R:a_FIIq", 
    "R:a_PsN" 
], 
"Product": [ 
    "R:a_FII", 
    "R:a_PN" 
], 
"Address": [ 
    "R:a_FII", 
    "R:a_PN" 
] 
} 

и возвращает этот документ.

Я сделал запрос, чтобы получить его

Map<String, List<String>> configShowable = new HasMapsh<>(); 
Query query = new Query(); 
query.addCirteria(Criteria.where("propertyName").is("configShowableField")); 
Map<String. Object> config = getMongoTemplate.findOne(query, Map.class,"Collection"); 
config.forEach(k,v)->{ 
if(v instanceof List){ 
    configShowable.put(k, (List<String>V)); 
} 
} 
return configShowable; 

Проблема заключается в том, что configShowable порядок изменен и не нужно. Мне нужно, чтобы я возвращал то же самое, в которое было вставлено в базу данных, в словах orther, Карта, чем была создана, находится в режиме ожидания.

Exmaple:

{ 
"_id": "32fqwefr", 
"propertyName": "configShowableField", 
"Address": [ 
    "R:a_FII", 
    "R:a_PN" 
], 
"Applicant": [ 
    "R:a_FII", 
    "R:a_PN" 
], 
"Product": [ 
    "R:a_FII", 
    "R:a_PN" 
], 
"Employment": [ 
    "R:a_FIIq", 
    "R:a_PsN" 
] 
} 

Как я могу предотвратить это заболевание ??

+0

возможного дубликата [Java Заказанного Map] (http://stackoverflow.com/questions/663374/java-ordered-map) –

+0

Вы уверены, что у документа есть структура, которую вы хотите в mongodb? Когда вы вставляете его, mongodb должен сортировать его в алфавитном порядке и разрушать ваши планы задолго до того, как вы попросите результат. – Digits

+0

@ Дигиты Я уверен в этом, потому что я добавил его вручную – cheloncio

ответ

0

Я предлагаю вам использовать LinkedHaskMap, хранит ключи в порядке, они были вставлены

+0

Работы: D спасибо – cheloncio