【问题标题】:spring-data-mongodb dose not map integer values properlyspring-data-mongodb 不能正确映射整数值
【发布时间】:2015-09-21 07:41:02
【问题描述】:

spring-data-mongodb 1.7.2.RELEASE 自动保存整数,因为 double 是 mongodb。 文档到对象的映射没问题。 但是当我将文档读取为 java.util.Map 时,所有整数值都变成了双精度值:( 是否可以让 spring-data-mongodb 将整数保存为 Integer(X) 而不是 mongodb 中的双精度数。 是bug吗?

类似这样的:

@Document
public class Foo {
    private Integer count;
    ...
}

fooRepository.save(fooInstance);

在 mongodb 文档中,字段 'count' 保存为 double 而不是 NumberInt(X)

【问题讨论】:

  • 请分享一些代码/配置,以帮助我们更好地理解问题。

标签: java spring mongodb spring-data spring-data-mongodb


【解决方案1】:

如果您使用的是类表示,您可以指定如何使用它。因此,在这种情况下,如果您在 mongo db 中使用来自文档的杰克逊映射,并且在您的类中使用诸如 int value 之类的值;它将被映射为那样。

【讨论】:

  • 我在另一个项目中阅读了文档并做了一些简单的批处理,上下文中没有原始类。所以我必须让 spring-data-mongodb 将整数保存为 db 中的 NumberInt(X) ...
  • 是的,将字段声明为 int(原始)在 mongodb 中存储为 Int32。
猜你喜欢
  • 1970-01-01
  • 2017-03-22
  • 2015-10-31
  • 1970-01-01
  • 1970-01-01
  • 2016-12-29
  • 2015-10-17
  • 1970-01-01
  • 2022-07-06
相关资源
最近更新 更多