Я использую драйвер JAVA и выполняю поиск документа. Возвращенные документы имеют тип Document.Получение значения из внутреннего массива из документа MongoDB Java
Из кода я вижу строковый тип ('name'), который выходит правильно. Я также могу видеть массив часов как строку.
Что я ищу, чтобы сделать, это получить конкретный элемент из массива, который должен выбрать часы [1] [2], который будет значением 8.
Im пытается сделать эту операцию прямо на Документе типа без преобразования в JSONObject.
Возможно ли это?
{
"Название": "TEMP1", "часы": [ [ 0, 1, 2, 3, 4, ], [ 6, 7, 8 , 9, 10, ], [ 12, 13, 14, 15, 16, ]]
{
FindIterable<Document> iterable = collection.find(and(eq("day", day),eq("month", month),eq("year", year),eq("name", java.util.regex.Pattern.compile("Temp"))));
iterable.forEach(new Block<Document>() {
@Override
public void apply(final Document document) {
//System.out.println(document.toJson());
System.out.println("Name: "+document.getString("name"));
System.out.println("Hours[]: "+document.get("hours"));
}
}
Привет в драйвере 3.0.2 im, не видя тип DBList только BasicDBList. Я что-то упускаю ? – DevilCode
Вы правы! Я исправил это! –
Ваш пример дает мне отличное исключение. Однако a (java.util.ArrayList) document.get ("hours"); работает. – DevilCode