sql >> Databasteknik >  >> NoSQL >> MongoDB

Fjäderdata MongoDb:MappingMongoConverter remove _class

Så här är historien:vi lägger till typen som standard som någon form av ledtråd vilken klass som faktiskt ska instansieras. Som du måste lägga in en typ för att läsa dokumentet i via MongoTemplate hur som helst, det finns två möjliga alternativ:

  1. Du lämnar in en typ som den faktiska lagrade typen kan tilldelas. I så fall överväger vi den lagrade typen, använd den för att skapa objekt. Klassiskt exempel här är att göra polymorfa frågor. Anta att du har en abstrakt klass Contact och din Person . Du kan sedan fråga efter Contact s och vi måste i princip bestäm en typ att instansiera.
  2. Om du - å andra sidan - skickar in en helt annan typ skulle vi helt enkelt samla in den givna typen, inte till den som finns lagrad i dokumentet. Det skulle täcka din fråga vad som händer om du flyttar typen.

Du kanske är intresserad av att titta på den här biljetten som täcker någon form av pluggbar typmappningsstrategi för att förvandla typinformationen till en faktisk typ. Detta kan helt enkelt tjäna utrymmesbesparande syften eftersom du kanske vill reducera ett långt kvalificerat klassnamn till en hash på några bokstäver. Det skulle också tillåta mer komplexa migreringsscenarier där du kan hitta nycklar av helt godtycklig typ som produceras av en annan datalagringsklient och binda dem till Java-typer.



  1. Filtrera array med $in-operatorn i $projektstadiet

  2. hur man använder aggregatfunktion i meteor

  3. Tillvägagångssätt för att lagra geospatial data i Redis

  4. Kontrollera om mongodb-databasen finns?