sql >> Database >  >> NoSQL >> MongoDB

Alleen bepaalde velden weergeven bij het bekijken van een specifiek item met Spring Data?

Bij gebruik van Spring Data REST heeft het hier iets speciaals voor ontworpen. Er is het idee van Projecties en uittreksels hiermee kun je aangeven wat en hoe je het wilt retourneren.

Eerst zou je een interface maken die alleen de velden bevat die je wilt.

@Projection(name="personSummary", types={Person.class})
public interface PersonSummary {
    String getEmail();
    String getId();
    String getName();
}

Dan op je PersonRepository voeg dit toe als standaard om te gebruiken (is alleen van toepassing op methoden die collecties retourneren!).

@RepositoryRestResource(excerptProjection = PersonSummary.class)
public interface PersonRepository extends CrudRepository<Person, String> {}

Wanneer u vervolgens een query voor een verzameling uitvoert, krijgt u alleen de velden zoals gespecificeerd in de projectie en wanneer u een enkele instantie verkrijgt, krijgt u het volledige object.



  1. Lineaire trechter van een verzameling evenementen met MongoDB-aggregatie, is het mogelijk?

  2. In-memory cache met LRU-vervaldatum

  3. Hoe u de beste MongoDB-hosting voor uw bedrijf kiest

  4. MongoDB $strLenBytes