我想创建一个查询,例如:
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/