0
моя коллекция содержит документы, как это:Получить значение из объекта
{
"_id": ObjectId("585a7886e4b06aec5d1d1639"),
"name": "somename",
"owner": "someowner",
"slots": 50,
"gold": 0,
"tag": "sometext",
"motd": "sometext",
"purchases": [],
"members": {
"membername1": {
"rank": 2
},
"membername2": {
"rank": 5
},
"membername3": {
"rank": 3
}
}
}
Мне нужно получить значение INT из «members.membername.rank». Как получить это значение, зная только имя пользователя?
имхо ваша структура данных является неправильным. члены должны быть списком типа '' members ": [{" membername ":" name "," rank ": 3}, {" membername ":" name2 "," rank ": 5}]'. это было бы правильно и сделало бы его намного проще –
ok, теперь у меня есть структура, как
"members" : [ { "membername" : "name", "rank" : 3 }, { "membername" : "name2", "rank" : 5 } ]
Как я могу получить это значение сейчас? –вам определенно нужно провести повторный поиск и прочитать начало работы. вы теперь можете работать с 'find' и' eq' - посмотрите здесь: http://mongodb.github.io/mongo-java-driver/3.4/driver/getting-started/quick-start/ –