2014-05-14 2 views
0

Я работаю с MongoDB и Spring 3.2.8.Spring mongo: Как настроить _id без VO?

Что мне нужно сделать, так это запросить базу данных Oracle с помощью MyBatis и поместить ResultMap, которая возвращается из запроса в Mongo DB.

Ситуации.

  • ResultMap работает довольно хорошо, как я и ожидал. Он возвращает значение HashMap<String, Object> или List<HashMap<String, Object>

  • В этом ResultMap у меня есть элемент с именем 'service_id', который должен заменить '_id' в mongo.

  • Push to mongoDB with MongoTemplate (org.springframework.data.mongo.core) также хорошо работает.

  • Проблема заключается в том, что mongoDB использует свой собственный «_id» в качестве первичного ключа, если я ставлю тот же объект, размер которого удваивается.

Вопрос.

  • Как я могу использовать 'service_id' в качестве первичного ключа манго?

Состояние.

Часть исходного кода. tmp.insert (map, collectionName); это tmp - MongoTemplate, и я предполагаю, что у него нет никакого метода для управления «_id».

Спасибо: D

ответ

1

Простое решение, но я думаю, что это православный путь.

  • Поместите элемент в ReturnMap. например map.put("_id", map.get("service_id"));

Теперь я могу предотвратить дублирование значений.

Если есть лучший способ, я выберу его в качестве ответа: D Спасибо

Смежные вопросы