mongodb 关联表查询 子表如何聚合数据?

子数据我已经查询出来了就是图中的userLikeUrl_as,但是不知道如何把userLikeUrl_as的数据聚合成count,如:userLikeUrl_as: 3,而不是把所有字段全部查询出来,有人知道吗
image.png

暂时的解决方式:

ProjectionOperation projectionOperation = Aggregation.project("uid", "userName", "userAvatar", "action", "objectType", "objectOthers",
                "createdDt", "url_as")
                .andExpression("toString(objectId)").as("objectId")
                .and(filter("userLikeUrl_as").as("item").by(ComparisonOperators.Eq.valueOf("item.valid").equalToValue(1))).as("userLikeUrl_as_list");

ProjectionOperation projectionOperation2 = Aggregation.project("uid", "userName", "userAvatar", "action", "objectType", "objectOthers", "createdDt", "url_as", "objectId")
                .andExpression("{$size: '$userLikeUrl_as_list'}").as("userLikeUrl_count");
阅读 1.9k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进