Oto historia:domyślnie dodajemy typ jako pewną wskazówkę, jaką klasę faktycznie utworzyć. Ponieważ musisz wprowadzić typ, aby odczytać dokument za pomocą MongoTemplate
w każdym razie są dwie możliwe opcje:
- Oddajesz typ, do którego można przypisać aktualnie zapisany typ. W takim przypadku bierzemy pod uwagę przechowywany typ, użyj go do tworzenia obiektów. Klasycznym przykładem jest tutaj wykonywanie zapytań polimorficznych. Załóżmy, że masz klasę abstrakcyjną
Contact
i twojaPerson
. Następnie możesz zapytać oContact
i zasadniczo musimy określić typ do utworzenia. - Jeśli – z drugiej strony – przekażesz zupełnie inny typ, po prostu wprowadzimy go do tego danego typu, a nie do tego, który jest faktycznie przechowywany w dokumencie. To zakryłoby Twoje pytanie, co się stanie, jeśli przesuniesz tekst.
Możesz być zainteresowany obejrzeniem tego zgłoszenia, które obejmuje pewien rodzaj podłączanej strategii mapowania typów, aby przekształcić informacje o typie w rzeczywisty typ. Może to służyć po prostu do celów oszczędzania miejsca, ponieważ możesz chcieć zredukować długą kwalifikowaną nazwę klasy do skrótu kilku liter. Pozwoliłoby to również na bardziej złożone scenariusze migracji, w których można znaleźć całkowicie dowolne klucze typów utworzone przez innego klienta Datastore i powiązać je z typami Java.