Je voudrais pouvoir persister et récupérer, entre autres, une carte de cartes dans une collection MongoDB. J'utilise Java pour accéder à MongoDB via Morphia.Persévérer et récupérer une carte de cartes avec Morphia et Mongodb
L'exemple que j'utilise ci-dessous est une collection qui contient des documents détaillant les propriétaires de diverses voitures. Dans cet exemple, le nombre de véhicules d'une marque et d'un modèle spécifiques est stocké dans une carte de cartes
La plupart des propriétés fonctionnent sans problème, mais dans le cas où une propriété est une carte d'une carte définie de la manière suivante:
@Property("vehicles")
private Map<String, Map<String, Integer> vehicles = new HashMap<String, HashMap<String, Integer>>();
l'objet est créé (certaines valeurs insérées dans la carte) et a persisté à la base de données Mongo comme on pouvait s'y attendre à ce qu'il soit:
"vehicles" : {
"FORD" : {
"FIESTA" : 1
},
"TOYOTA" : {
"COROLLA" : 1,
"PRIUS": 1
},
"BMW" : {
"SLK" : 1
}
}
Toutefois, lorsque l'objet est récupéré via le code java (une requête sur le MongoDB co nsole fonctionne comme prévu)) de la manière suivante ...
Query<Owner> q = ds.find(Owner.class);
System.out.println(q.countAll());
Iterable<Owner> i = q.fetch();
for (Owner o : i) {
System.out.println(o);
}
... le code meurt d'une façon horrible sur la ligne q.fetch().
S'il vous plaît aider :)