#java #database #mongodb
#java #База данных #mongodb
Вопрос:
Я поместил HashMap<String, Set<Long>>
объект в документ MongoDB в разделе «disabled_channels», но я не могу понять, как его извлечь и превратить обратно в HashMap<String, Set<Long>>
объект в локальной памяти. Обычно я очень хорошо разбираюсь в списках, отдельных значениях и т. Д., Используя что-то вроде found.getList("disabled_commands", String.class)
, но я действительно не понимаю, как к этому подойти.
MongoCollection<Document> collection = bot.getDataManager().getConfig();
Document config = new Document("guild", guild.getIdLong());
Document found = collection.find(config).first();
// I get lost here
Ответ №1:
Document
сам по себе является map
внутренней реализацией. Ссылка
Вам нужно использовать функцию get для found
документа и преобразовать ее в Document
, как показано ниже
Document channels = (Document)found.get("disabled_channels")
Затем вы можете получить доступ к элементам, channels
используя тот же get
метод, и использовать его в соответствии с потребностями.