sql >> Database teknologi >  >> NoSQL >> MongoDB

Kun udsætte bestemte felter, når du ser en bestemt vare med Spring Data?

Når du bruger Spring Data REST, har den noget specielt designet til dette. Der er forestillingen om Projektioner og uddrag med den kan du angive, hvad og hvordan du vil returnere den.

Først ville du oprette en grænseflade, som kun ville indeholde de felter, du ønsker.

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

Derefter på dit PersonRepository tilføje dette som standard til brug (gælder kun for metoder, der returnerer samlinger!).

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

Når du så laver en forespørgsel til en samling, vil du kun få felterne som specificeret i projektionen, og når du får en enkelt instans, får du det fulde objekt.



  1. Hvordan får jeg _id'et for det nyligt indsatte dokument efter en indsættelse ved hjælp af mongo csharp?

  2. Hvordan måles $maxDistance i MongoDB?

  3. StackExchange.Redis ConnectionMultiplexer-pulje til synkrone metoder

  4. Gem Liste over grænsefladeobjekter ved hjælp af mongo-driver til java