MongoDB Java输入两个日期字段之间的日期

时间:2019-07-16 13:34:50

标签: java mongodb

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

  

SELECT *从{DB_COLUMN_1}和{MY_DATE_1}之间的MY_TABLE中开始   {DB_COLUMN_2}或{MY_DATE_2}在{DB_COLUMN_1}和{DB_COLUMN_2}之间)

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

1 个答案:

答案 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表示小于。