# MongoDB- Queryception



## BrknDevee (20. Dez 2017)

Hallo 
Ich möchte die Types ("type", in eine List) aus dem folgenden Dokument holen, doch ich konnte es so:
List<Integer> types = (List<Integer>) foundDoc.get("packet_data.contents.type");
nicht holen :/

Hier das Dokument:
{
    "_id" : ObjectID("..."),
    player_name: "FoxyDev",
    "packet_data" : [
        {
             "packet_position" : [12, 4, 21]
             "size" : "small"
             "contents" : [
             {
                  "type" : [1, 64, 0]
             }
            ]
        }
    ]

}


----------



## truesoul (21. Dez 2017)

Hallo.

Was kommt denn?
Eine Fehlermeldung?
Die Liste types ist null?


Schon einmal hier rein geschaut?
Oder hier?

Grüße


----------



## BrknDevee (21. Dez 2017)

Die Liste ist leider leer, aber foundDoc funktioniert, wenn ich nach dem PlayerName suche, also kann es daran nicht liegen :/

Grundlegend kann ich ja MongoDB, nur weiß ich halt nie so genau, wie man so (für meine Verhältnisse) riesige Verkettungen von Arrays und Subdocuments auflöst, ich dachte bis jetzt, dass man da mit . rankommt (zum Beispiel dass man, um zu packet_position zu kommen, ... .get("packet_data.packet_position"); benutzen muss/ kann)


----------



## truesoul (21. Dez 2017)

BrknDevee hat gesagt.:


> Die Liste ist leider leer, aber foundDoc funktioniert, wenn ich nach dem PlayerName suche, also kann es daran nicht liegen :/
> 
> Grundlegend kann ich ja MongoDB, nur weiß ich halt nie so genau, wie man so (für meine Verhältnisse) riesige Verkettungen von Arrays und Subdocuments auflöst, ich dachte bis jetzt, dass man da mit . rankommt (zum Beispiel dass man, um zu packet_position zu kommen, ... .get("packet_data.packet_position"); benutzen muss/ kann)



Und meine links konnten da nicht helfen?


----------



## BrknDevee (21. Dez 2017)

Naja, da stand halt eigentlich nur drin, wie man sich verbindet, Documents einfügt, ein Document holt, mehrere Documents holt, aber halt nicht, wie man an sowas ran kommt


----------



## truesoul (22. Dez 2017)

BrknDevee hat gesagt.:


> Naja, da stand halt eigentlich nur drin, wie man sich verbindet, Documents einfügt, ein Document holt, mehrere Documents holt, aber halt nicht, wie man an sowas ran kommt



Also das hilft dir nicht: 


```
BasicDBObject query = new BasicDBObject("name", "MongoDB")
        .append("type", "database")
        .append("count", 1)
        .append("info", new BasicDBObject("x", 203).append("y", 102));
```

Vor allem der Teil in der Zeile mit info?

Grüße


----------



## BrknDevee (2. Jan 2018)

Achso, ich habs jetzt: Man kann ja das Objekt holen und es zu einer List<Document> casten..
Warum bin ich da nicht früher drauf gekommen??

Danke dir auf jeden Fall für die Antworten


----------

