【问题标题】:Spring mongo : How to customize _id without VO?Spring mongo:如何在没有 VO 的情况下自定义 _id?
【发布时间】:2014-05-14 02:39:43
【问题描述】:

我正在使用 MongoDB 和 Spring 3.2.8。

我要做的是使用 MyBatis 查询 Oracle 数据库,并将查询返回的 ResultMap 放入 Mongo DB。

情况。

  • ResultMap 的效果和我预期的一样好。它返回正确的HashMap<String, Object>List<HashMap<String, Object>

  • 在那个 ResultMap 中,我有一个名为“service_id”的元素,它应该替换 mongo 中的“_id”。

  • 使用 MongoTemplate(org.springframework.data.mongo.core) 推入 mongoDB 也很有效。

  • 问题是因为 mongoDB 使用自己的 '_id' 作为主键,如果我放置相同的对象,它的大小会加倍。

问题。

  • 如何使用 'service_id' 作为 mongo 的主键?

条件。

部分源代码。 tmp.insert(地图,collectionName); 这个 tmp 是 MongoTemplate,我假设它没有任何方法来控制“_id”。

谢谢你:D

【问题讨论】:

    标签: java spring mongodb spring-mvc primary-key


    【解决方案1】:

    简单的解决方案,但我认为这是正统的方式。

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

    现在,我可以防止重复值。

    如果有更好的方法,我会选择那个作为答案:D 谢谢

    【讨论】:

      猜你喜欢
      • 2014-09-01
      • 2017-06-14
      • 2021-03-04
      • 2016-02-21
      • 2022-06-22
      • 2016-06-08
      • 1970-01-01
      • 2014-10-03
      相关资源
      最近更新 更多