Вот упрощенная схема моего документа MongoDB:
{
"_id": 0,
"config": [{
"property1": "a",
"property2": "b",
"property3": "c",
"property4": "d"
},
{
"property1": "a",
"property2": "bb",
"property3": "cc",
"property4": "d",
"ispropert5": true
},
{
"property1": "a",
"property2": "b",
"property3": "c",
"property4": "ddd",
"ispropert5": false,
"ispropert6": false
}
],
"entity": "123asdf",
"url": "",
"createdDate": 1
}
В качестве вывода мне нужно получить список уникальных ключей вложенных документов:
{property1, property2, property3, property4, ispropert5, ispropert6}
Я пытаюсь сделать это в своем классе, но, конечно, не смог привести ArrayList к Document:
Document dbo = col.find().first();
Set<String> keys = dbo.keySet();
Iterator iterator = keys.iterator();
while(iterator.hasNext()) {
String key = iterator.next().toString();
if(dbo.get(key) instanceof ArrayList){
Document dboNested = (Document) dbo.get(key); //java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.bson.Document
Set<String> keysNested = dboNested.keySet();
System.out.println("KeyNested: " + keysNested);
}
}