我想创建一个查询,例如:
SELECT *从{DB_COLUMN_1}和{MY_DATE_1}之间的MY_TABLE中开始 {DB_COLUMN_2}或{MY_DATE_2}在{DB_COLUMN_1}和{DB_COLUMN_2}之间)
我知道如何做相反的事情(两个变量之间的字段),因为BasicDBObject将字符串(我猜为字段名)作为第一个参数而不是日期。谢谢!
答案 0 :(得分:0)
我建议您使用$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
表示小于。