Java Hazelcast计数机制

Java Hazelcast计数机制,java,hashmap,hazelcast,Java,Hashmap,Hazelcast,我试图使用hazelcast聚合来执行计数操作 例如:- 这里我要统计json中存在的salary1字段的数量 String json1 = "{\r\n" + " \"salary\": 200\r\n" + "}"; String json2 = "{\r\n" + " \"salary\": 300\r\n" + "}"

我试图使用hazelcast聚合来执行计数操作

例如:-

这里我要统计json中存在的salary1字段的数量

String json1 = "{\r\n" + "    \"salary\": 200\r\n" + "}";
String json2 = "{\r\n" + "    \"salary\": 300\r\n" + "}";
String json5 = "{\r\n" + "  \"salary1\": 300\r\n" + "}";

map.put(1, new HazelcastJsonValue(json1));
map.put(2, new HazelcastJsonValue(json2));
map.put(3, new HazelcastJsonValue(json5));
Long count = map.aggregate(Aggregators.count("salary1"));
System.out.println("count is " + count);
我只有一个salary1字段,但它仍然提供完整的计数


问题是什么?

我认为您需要使用
谓词来首先过滤您计算的条目。尝试以下方法

Predicate p = Predicates.notEqual("salary1", null);
Long count = map.aggregate(Aggregators.count(), p);

我认为您需要使用
谓词
首先过滤您计算的条目。尝试以下方法

Predicate p = Predicates.notEqual("salary1", null);
Long count = map.aggregate(Aggregators.count(), p);