java - Mongodb java输入两个日期字段之间的日期

标签 java mongodb

我想创建一个查询,例如:

SELECT * FROM MY_TABLE WHERE {MY_DATE_1} BETWEEN {DB_COLUMN_1} AND {DB_COLUMN_2} OR {MY_DATE_2} BETWEEN {DB_COLUMN_1} AND {DB_COLUMN_2})

我知道如何做相反的事情(两个变量之间的字段),因为 BasicDBObject 将字符串(我猜是字段名称)作为第一个参数而不是日期。谢谢!

最佳答案

我猜你想使用$or像sql一样查询

这里是java的演示

        BasicDBObject query = new BasicDBObject();
        BasicDBObject condition1 = new BasicDBObject("fieldA",new BasicDBObject("$gt","2018-06-02 12:20:00").append("$lt","2019-06-02 12:20:00"));
        BasicDBObject condition2 = new BasicDBObject("fieldB",new BasicDBObject("$gt","2018-06-02 12:20:00").append("$lt","2019-06-02 12:20:00"));

        BasicDBList condList = new BasicDBList();
        condList.add(condition1);
        condList.add(condition2);
        query.put("$or" ,condList);

        collection.find(query);

$gt 表示大于,$lt 表示小于。

关于java - Mongodb java输入两个日期字段之间的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57058517/

相关文章:

java - 为什么 String 的 hashCode() 不缓存 0?

MongoDB 聚合错误 : Pipeline stage specification object must contain exactly one field

mongodb - 如果在事务中读取的文档在事务内更改之前已被其他客户端更改,那么 mongodb 事务会失败吗?

java - 当父类没有默认构造函数时如何定义显式构造函数?

java - 在 groovy 中使用 HTML 格式的 JIRA Rest API 创建发行说明

Java 将字节转换为字符 - 转换问题

mongodb - 通过 MongoDB 中的聚合框架将嵌入对象作为文档检索

python - 检查列表是否不为空 pymongo

mongodb排序时先返回大写字符串

java - 导出的桌面应用程序中的内部文件的 LibGDX 列表