【问题标题】:How to use aggregate function in spring data mongo?如何在spring data mongo中使用聚合函数?
【发布时间】:2019-03-06 17:25:52
【问题描述】:

我有一个类似的json数据

{ 
  "organizationId" : "org1",
  "userId" : "user1",
  "transactionNo" : "342"
},
{ 
  "organizationId" : "org1",
  "userId" : "user1",
  "transactionNo" : "343"
},
{ 
  "organizationId" : "org1",
  "userId" : "user1",
  "transactionNo" : "344"
},
{
  "organizationId" : "org1",
  "userId" : "user2",
  "transactionNo" : "324"
},
{
  "organizationId" : "org1",
  "userId" : "user2",
  "transactionNo" : "325"
},
{
  "organizationId" : "org1",
  "userId" : "user3",
  "transactionNo" : "324"
},
{
  "organizationId" : "org2",
  "userId" : "user1",
  "transactionNo" : "324"
},
{
  "organizationId" : "org2",
  "userId" : "user2",
  "transactionNo" : "324"
},
{
  "organizationId" : "org3",
  "userId" : "user1",
  "transactionNo" : "324"
}

所以我有所有这些记录,其中一个组织将有多个用户,而一个用户正在执行多项活动。 我的要求是提供“organisationId”并获取该组织的用户数。对于这个例子,如果我提供“org1”,我应该得到“3”

我在 Spring Data mongo 存储库中尝试了方法“getDistinctUserIdByOrganisationId(String organizationId)”。但它不工作。在@Query() 中写什么? 我如何使用其他选项解决它?我是 mongo 的新手。我以前在mysql上工作过。

【问题讨论】:

    标签: mongodb spring-data


    【解决方案1】:

    您必须使用匹配、分组和计数来获得答案。 请通过这个link。它有一个简单的例子可以帮助你。

    【讨论】:

    • 因此无法使用 @query 使用 Spring 的 MongoRepository 来完成,因为我已经有了存储库接口,为同一模型类再拥有一个存储库或在其中编写 MongoTemplate 看起来不太好服务类。
    猜你喜欢
    • 1970-01-01
    • 2020-04-29
    • 2017-05-02
    • 2019-10-14
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    相关资源
    最近更新 更多