2014-05-14 43 views
0

我正在使用MongoDB和Spring 3.2.8。Spring mongo:如何自定義_id沒有VO?

我所要做的就是使用MyBatis查詢Oracle數據庫,並將查詢返回的ResultMap放入Mongo DB中。

情況。

  • ResultMap的效果與我預期的相當。它返回正確HashMap<String, Object>List<HashMap<String, Object>

  • 在這一resultMap,但我有一個名爲「service_id爲」元素應在蒙戈取代「_id」。

  • 將mongoDB與MongoTemplate(org.springframework.data.mongo.core)一起使用也很好。

  • 問題是因爲mongoDB使用自己的'_id'作爲主鍵,如果我把它放大兩倍的同一個對象。

問題。

  • 我該如何使用'service_id'作爲mongo的主鍵?

條件。

部分。 tmp.insert(map,collectionName); 這個tmp是MongoTemplate,我假設它沒有任何方法來控制'_id'。

謝謝:D

回答

1

簡單的解決方案,但我認爲這是正統的方式。

  • 將一個元素放入ReturnMap中。例如map.put("_id", map.get("service_id"));

現在,我可以防止重複的值。

如果還有更好的辦法,我會選擇一個作爲答案:D謝謝