小编Try*_*his的帖子

MongoDB比较运算符为null

在MongoDB中,我想使用$ gt和$ lt比较运算符,其值可以为null.当运算符不使用null时,我查找了文档,但没有找到.在这两种情况下,它都没有返回任何文档(即使$ ne,$ gte和$ lte确实返回了文档;这意味着有些文档都等于且不等于null).

我希望$ gt基本上像$ ne一样运行(因为null类型的Mongo comarison命令是如此之低)和$ lt因为同样的原因没有返回任何内容.

我希望这可以工作,因为我传递给查询的值是变量(可能为null),我不想为null编写特殊情况.

鉴于以下集合,我正在考虑的示例:

{
  id: 1,
  colNum: null
}
{
  id: 2,
  colNum: 72
}
{
  id: 3
}
Run Code Online (Sandbox Code Playgroud)

我希望以下查询:

db.testtable.find( { "colNum" { $gt : null } } )
Run Code Online (Sandbox Code Playgroud)

回来:

{
  id: 2,
  colNum: 72
}
Run Code Online (Sandbox Code Playgroud)

但是,没有返回任何内容.

是否有一个原因,$ gt和$ lt似乎无法使用null,或者它是MongoDB错误,还是它实际上应该工作并且可能存在用户错误?

null spring mongodb spring-mongo

10
推荐指数
1
解决办法
2735
查看次数

JAXB 拆分单个属性并绑定到多个字段

有没有办法使用 JAXB 将单个属性解组/拆分为多个字段?

我在具有时间属性的 XML 文件中有一个元素(无法更改 XML 文件)。时间属性的精度为微秒。因此,我无法将该属性存储在 java Date 或 Joda DateTime 字段中。

我想将属性存储在一个简单的自定义 DateTime 类中,其中亚秒存储在 Integer 中,其余部分存储在 java Date 中(我无权访问 Joda)。但是,我一直无法弄清楚如何将单个属性解组为 Date 和 Integer。

XML 示例:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <root>
        <Range start="2001-01-01 01:23:45.012345"/>
    </root>
Run Code Online (Sandbox Code Playgroud)

简单的自定义 DateTime 类:

public class DateTime {
    Date date;
    Integer subseconds;

    public Date getDate() {
        return this.date;
    }
    public void setDate(Date date) {
        this.date = date;
    }

    public Integer getSubseconds() {
        return this.subseconds;
    }
    public void setSubseconds(Integer subseconds) {
        this.subseconds = subseconds;
    } …
Run Code Online (Sandbox Code Playgroud)

java xml datetime jaxb

3
推荐指数
1
解决办法
925
查看次数

标签 统计

datetime ×1

java ×1

jaxb ×1

mongodb ×1

null ×1

spring ×1

spring-mongo ×1

xml ×1