Chciałbym być w stanie przetrwać i odzyskać, między innymi, mapę map w kolekcji MongoDB. Używam Java, aby uzyskać dostęp do MongoDB przez Morphia.Trwałość i odzyskiwanie mapy map za pomocą Morphia i Mongodb
Przykład, którego używam poniżej, to zbiór zawierający dokumenty szczegółowo przedstawiające właścicieli różnych samochodów. W tym przykładzie liczba pojazdów konkretnej marki i modelu jest przechowywana na mapie map.
Większość właściwości działa bez żadnych problemów, ale w przypadku, gdy właściwość jest mapą zdefiniowaną na mapie w następujący sposób:
@Property("vehicles")
private Map<String, Map<String, Integer> vehicles = new HashMap<String, HashMap<String, Integer>>();
utworzeniu obiektu (niektóre wartości włożona mapie) i utrzymywał się do bazy danych Mongo, jak można by oczekiwać, że będzie:
"vehicles" : {
"FORD" : {
"FIESTA" : 1
},
"TOYOTA" : {
"COROLLA" : 1,
"PRIUS": 1
},
"BMW" : {
"SLK" : 1
}
}
jednak gdy obiekt jest pobierane za pośrednictwem kodu java (zapytanie w MongoDB co nsole działa zgodnie z oczekiwaniami)) w następujący sposób ...
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);
}
... kod ginie w okropny sposób na q.fetch() online.
Proszę o pomoc :)