当前位置: 首页 > 知识库问答 >
问题:

mongoplate中大小数的标准查询

楚志强
2023-03-14

我有一个实体类,我有一个值作为薪水。工资的数据类型是bigdecimal。现在我想对这个实体执行一个查询,其中有两个值,从salary和toSalary。我希望所有的员工都有薪水

薪水以Bigdecaml表示,fromSalary和toSalary以Double表示。

我尝试了2种方法

标准在哪里(薪水)。gte(新的BigDecimal(fromSalary))。lte(新的大十进制(toSalary));标准在哪里(薪水)。gte(来自工资)。lte(toSalary));

当我执行这些操作时,即使我的数据库中有此范围内的数据,我在这两种情况下都会得到空响应。

如何对bigdecimal执行范围操作?

共有1个答案

冯曾笑
2023-03-14

潜在的问题是Spring Data MongoDB在默认情况下将BigDecimal值转换为String,因此您的薪资字段实际上在MongoDB中存储为String

您可以使用@Field注释修改默认转换,如下所示:

@Field(targetType = FieldType.DECIMAL128)
private BigDecimal salary;

这样,薪资字段的值将存储为MongoDB的原生Decimal128类型,问题中的查询将按预期进行。

你可以在这里查看Christoph Strobl的相关答案。

 类似资料:
  • 问题内容: 假设我有一个熊猫数据框: 我想计算数据框的列均值。 这很简单: 然后按列范围max(col)-min(col)。这又很容易: 现在,对于每个元素,我要减去其列的均值并除以其列的范围。我不确定该怎么做 任何帮助/指针将不胜感激。 问题答案:

  • 如何从我知道行大小但不知道列大小的标准输入中打印二维数组? 标准输入的第一行是行大小,接下来的几行是行数,每个列元素的输入用空格分隔。例如 这就是我正在用我的代码尝试的

  • 问题内容: 使用nodeJS v0.10.28,http请求中的标头内容的大小/长度是否受到限制? 让我解释: 我需要使用第三方供应商提供的休息服务。返回给我的数据在请求的标头中,主体通常为空(120个左右字符)。标头中的数据量从几个字符到几个100kb不等。 上面的代码对于较小的标头工作正常,但在on(’error’上失败,在较大的标头上显示“ Parse Error”消息。 删除on erro

  • 我目前正在从事一个C语言的软件项目,该项目必须在各种平台上运行。我试图尽可能接近C90标准,但需要一些常用的支持扩展,如stdint。h和一个无符号长类型。我故意不想“倒退”到C99标准,因为我使用的一些编译器不支持所有C99特性,如混合声明和代码等。 因此,我目前使用gcc在我的(64位Ubuntu)开发机器上编译所有代码,使用(不是C90,因为我使用了如上所述的unsigned long-lo

  • 我不了解DynamoDb中查询/扫描限制的概念。根据文件: 单个查询操作最多可以检索1 MB的数据。在对结果应用任何FilterExpression之前,此限制适用。 假设我有10k个条目,每个条目250kb,所有条目都符合查询参数。 如果我运行一个简单的查询,我只得到4个项目?

  • 主要内容:示例查询条件可以帮助您从Access数据库中检索特定项目。 如果项目与输入的所有条件相匹配,则会显示在查询结果中。 当您想根据字段中的值限制查询的结果时,可以使用查询条件。 查询条件是一个表达式,即Access与查询字段值进行比较,以确定是否包含包含每个值的记录。 一些标准很简单,使用基本的操作符和常量。 其他是复杂的,使用函数,特殊的操作符,并包含字段引用。 要将某些条件添加到查询,必须在设计视图中