Как получить упорядоченный список товаров по данным пользователей из MongoDB

У меня есть список пользователей в моем mongoDB следующим образом:

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

 user2{
    username,
    password,
    likedItems[item1]
 }

и я хочу получить список самых любимых предметов. в этом примере это будет сначала item1, а затем item2. Я делаю это внутри весеннего загрузочного приложения, и в данный момент я перебираю каждого пользователя, получаю понравившиеся ему элементы и добавляю их в Map с ключом:item и значением: count

Я спрашиваю, есть ли более чистый способ достижения этого, используя только хранилище 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 ответов

Другие вопросы по тегам