我正在使用MongoDB和Spring 3.2.8。
我要做的是使用MyBatis查询Oracle数据库,并将从查询返回的ResultMap放入Mongo DB。
情况。
ResultMap的效果与我预期的相当。它会返回正确的HashMap<String, Object>
或List<HashMap<String, Object>
在那个ResultMap中,我有一个名为&#39; service_id&#39;的元素。哪个应该取代&#39; _id&#39;在mongo。
使用MongoTemplate推送到mongoDB(org.springframework.data.mongo.core)也很有效。
问题是因为mongoDB使用自己的&#39; _id&#39;作为主键,如果我把相同的对象放大一倍。
问题。
条件
源代码的一部分。 tmp.insert(map,collectionName); 这个tmp是MongoTemplate,我认为它没有任何方法来控制&#39; _id&#39;。
谢谢:D
答案 0 :(得分:1)
简单的解决方案,但我认为这是正统的方式。
map.put("_id", map.get("service_id"));
现在,我可以防止重复值。
如果有更好的方法,我会选择那个作为答案:D谢谢