首页 > 解决方案 > 如何在 MongoDB 中将 DateTime 转换为 Date 以进行过滤?

问题描述

我是 MongoDB 的新手,很难通过简单的过滤来查询文档。我想问一下MongoDB中mysql的CAST(datetime AS DATE)是什么?

这是我的代码。

“检查”:{“hourbeg”:“2020-11-23 10:12:20”}

    Bson filters = Filters.and(new BasicDBObject("center.code", code), 
            new BasicDBObject("inspection.hourbeg", transactionDate));
    Bson sorts = Sorts.descending("printedOn");
    
    List<Document> vehicles = collection.find()
            .sort(sorts)
            .filter(filters)
            .into(new ArrayList<Document>()); 

我仍在尝试理解 MongoDB 中的这个聚合。

标签: java

解决方案


没关系,伙计们,我能够使用这种方法解决我的问题。可能对其他人也有用。

    String startDate = transactionDate.toString()+" 00:00:00";
    String endDate = transactionDate.plusDays(1).toString()+" 00:00:00";
    
    Bson gt = Filters.gt("inspection.hourbeg", startDate);
    Bson lt = Filters.lt("inspection.hourbeg", endDate);
    
    Bson andDate = Filters.and(gt, lt);
    
    Bson filters = Filters.and(new BasicDBObject("center.code", code), 
            andDate);
    Bson sorts = Sorts.descending("printedOn");
    
    List<Document> vehicles = collection.find()
            .sort(sorts)
            .filter(filters)
            .into(new ArrayList<Document>());

推荐阅读