gpt4 book ai didi

java - MongoDB 使用聚合框架计算字段为 true 的次数

转载 作者:行者123 更新时间:2023-12-02 03:25:39 25 4
gpt4 key购买 nike

剧情简介

尝试计算字段“seen”等于“false”的用户的次数

(邮件)收集示例

{
to : "jimmy",
from : "johny",
message : "Hey",
seen: false
},
{
to : "jimmy",
from : "Maggy",
message : "Hello",
seen: true
},
{
to : "jimmy",
from : "Sam",
message : "How are you?",
seen: false
},
{
to : "jimmy",
from : "johny",
message : "It's me again",
seen: false
}

带有 Mongo 聚合的 Java 方法

  //WHERE 'to' EQUALS 'jimmmy'
//COUNT 'seen' EQUALS 'false'

我尝试过的

    public int getTotalUnseen(String toUser){

AggregateIterable<Document> iterable = db.getCollection("mail").aggregate(asList(
new Document("$match", new Document("to", "jimmy")),
new Document("$group", new Document("_id", "$seen").append("count", new Document("$sum", 1)))));

}

期望的结果

int x = getTotalUnseenCount("jimmy");
System.out.println("Result : "+ x);


//Result : 3

最佳答案

您可以尝试以下方法:

Query query = new Query();
query.addCriteria(Criteria.where("to").is("jimmy").and("seen").is(true));
mongoTemplate.count(query, "mail");

关于java - MongoDB 使用聚合框架计算字段为 true 的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38945216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com