首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Data MongoDB聚合与日期和平均值匹配

Spring Data MongoDB聚合与日期和平均值匹配
EN

Stack Overflow用户
提问于 2019-10-21 16:56:03
回答 1查看 429关注 0票数 0

我正在使用mongoDB java驱动程序通过聚合框架来查询日期范围和平均值之间的交易。这是我的mongo查询(它可以工作):

代码语言:javascript
复制
db.campaignsForChatUsers.aggregate([{$match:{'created' :
 {$gte : ISODate('2017-09-30T11:35:35.155Z'), $lt : ISODate('2019-09-30T11:35:35.155Z')}}},
{$group: {_id : "_id", aveTime: { $avg : "$details.nostradamusOfferCalculatingTime"}}}])

我用来进行查询的java代码:

代码语言:javascript
复制
public Double getAverageTimeWithPeriod(){
    MongoCollection<Document> dbCollection = mongoTemplate.getCollection(ChatUserCampaign.COLLECTION_NAME);

    Date fromDate = LocalDate.parse("2019-10-01").toDate();
    Date toDate = LocalDate.parse("2020-03-13").toDate();

    BasicDBObject match = new BasicDBObject("$match",
            new BasicDBObject("created",
                    new BasicDBObject("$gte", fromDate/*getDate("01/10/2019")*/).append("$lt", toDate/*getDate("20/10/2019")*/)));
    BasicDBObject group = new BasicDBObject("$group",
            new BasicDBObject ("_id",
                    new BsonField("averageTime",
                    new BsonDocument("$avg,",
                            new BsonString("$details.nostradamusOfferCalculatingTime")))));

    List<Bson> aggregators = null;
    assert false;

    aggregators.add(match);
    aggregators.add(group);
    AggregateIterable<Document> output = dbCollection.aggregate(aggregators);
    //AggregationOutput output1 = dbCollection.aggregate(Arrays.asList(match,group));
    Document result = output.first();
    return result.getDouble("averageTime");
}

但是这个jaja查询返回的是空结果(符合:aggregators.add(match); -I get NullPointerException)。

EN

回答 1

Stack Overflow用户

发布于 2019-10-21 17:34:49

Mongo不理解01/10/2019格式,而是理解ISO格式。因此,您必须使用像ISODate("2015-06-17T10:03:46Z")这样的东西来代替fromDatetoDateDateLocalDate不起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58482897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档