我必须关注 Db 数据:
{user : Tom, CORRECT: {q1, q3}, WRONG : {q2, q4} },
{user : jim, CORRECT: {q1}, WRONG : {q2, q3, q4} },
{user : Tom, CORRECT: {q6}, WRONG : {7} },
我想使用聚合来计算每个用户的每个正确\错误,即
{user : Tom, correctCount : 3, wrongCount : 3},
{user : jim, correctCount : 1, wrongCount : 3},
我试过的是这样的:
Aggregation agg = newAggregation(
group("name").
addToSet(correct).as(correct).
addToSet(wrong).as(wrong).
addToSet(partial).as(partial)
);
但是对于每个用户,我都会获得完整的数据列表(即 q1、q2、q3 ...),我总是可以在该列表上执行 size() - 但它是无效的。我怎样才能得到计数值呢?
谢谢