如何根据MongoDB中的用户数据获取有序的项目列表

时间:2018-01-25 22:39:12

标签: spring mongodb spring-boot spring-mongodb

我的mongoDB中有用户列表如下:

 user1{
    username,
    password,
    likedItems[item1, item2]
 }

 user2{
    username,
    password,
    likedItems[item1]
 }

我希望获得最喜欢的项目列表。在这个例子中,它首先是item1然后是item2。 我在Spring启动应用程序中执行此操作,此时,我遍历每个用户并获取他喜欢的项目并将其添加到      使用键映射:项目和值:计数

我问的是,是否有更简洁的方法可以仅使用mongodb存储库实现此目的。

编辑:json文档示例

{
  "_id": "5a68a9308117670afc3522cd",
  "_class": "com.auth.auth2.entities.User",
  "username": "user1",
  "password": "$2a$10$8QeAFaAAhfwu8jMxynPbtOAyHLcb0s8a0m6ilbz9QY.DzCqGUsFwe",
  "roles": [
    {
      "_id": null,
      "name": "USER"
    },
    {
      "_id": null,
      "name": "ACTUATOR"
    }
  ],
  "favoriteItems": {
    "5a0c6711fb3aac66aafe26c6": {
      "_id": "5a0c6711fb3aac66aafe26c6",
      "name": "item1",
    },
    "5a0c6b83fd3eb67969316dd7": {
      "_id": "5a0c6b83fd3eb67969316dd7",
      "name": "item2",
    },
    "5a0c6b83fd3eb67969316de4": {
      "_id": "5a0c6b83fd3eb67969316de4",
      "name": "item3"
    }
  }
}

0 个答案:

没有答案