MongoDB запрос объектов hashmap - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть следующие документы MondoDB в коллекции match, созданной Spring's MongoRepository:

[
  {
    "_id" : ObjectId("123"),
    "scores" : {
      "11111" : 2,
      "22222" : 0
    },
    "playerOne" : {
      "$ref" : "player",
      "$id" : ObjectId("11111")
    },
    "playerTwo" : {
      "$ref" : "player",
      "$id" : ObjectId("22222")
    }
  },
  {
    "_id" : ObjectId("456"),
    "scores" : {
      "11111" : 3,
      "33333" : 1
    },
    "playerOne" : {
      "$ref" : "player",
      "$id" : ObjectId("11111")
    },
    "playerTwo" : {
      "$ref" : "player",
      "$id" : ObjectId("33333")
    }
  },
  {
    "_id" : ObjectId("789"),
    "scores" : {
      "44444" : 4,
      "11111" : 2
    },
    "playerOne" : {
      "$ref" : "player",
      "$id" : ObjectId("44444")
    },
    "playerTwo" : {
      "$ref" : "player",
      "$id" : ObjectId("11111")
    }
  }
]

Документы содержат результаты матчей двух игроков. В свойстве score хранятся результаты игрока, где key - это идентификатор игрока, а значение - это количество игроков.

Я хотел бы получить все матчи по id игрока (например, id: 11111 ), где этот игрок победитель , поэтому его счет больше противник.

У вас есть идеи, как написать запрос для этого? Я хочу избежать редизайна документа, но если это единственный способ написать правильный запрос, продолжайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...