我的收藏集看起来像这样:
{
"_id" : ObjectId("5f1ac6ba3d4e547950e28d37"),"vin" : "ATHBJ11C4LY4RV3JA","msgType" : "R","dealerInfo" : {..},"sale" : {..},"encryptedSoldTo" : "","receivedTimestamp" : "2020-09-15T11:32:10.537Z","region" : "US"
}
{
"_id" : ObjectId("5f1ac6cd3d4e547950e28d39"),"vin" : "BTHBJ11C4LY4RV3JA","receivedTimestamp" : "2020-09-4T11:32:29.284Z","region" : "CA",}
我正在使用MongoTemplate查询集合的零售交货报告。查询看起来像这样:
Query query = new Query();
List<String> regions = Arrays.asList(new String[]{"US","PR","CA"});
query.addCriteria(Criteria.where("msgType").is("R"));
query.addCriteria(Criteria.where("region").in(regions));
query.addCriteria(Criteria.where("receivedTimestamp").gt(oldDate));
List<RetailDeliveryReport> retailDeliveryReports = mongoTemplate.find(query,RetailDeliveryReport.class);
到目前为止,它运行良好。现在,我还有其他要求。零售-交付-报告集合可以为一个VIN提供多个文档。我只需要获取一个基于“ receivedTimestamp”的文档。这意味着,仅应返回特定VIN的最新记录。我需要将此要求合并到现有查询中。我完全不知道如何解决这个问题。谢谢