MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment renvoyer uniquement des champs spécifiques pour une requête dans Spring Data MongoDB ?

MongoDB renvoie uniquement les documents JSON pour les requêtes standard. Ce que vous aimeriez voir peut être réalisé en renvoyant toujours une List<Foo> . Les fields propriété dans @Query ne renverra que les champs définis sur 1.

@Query(value="{ path : ?0}", fields="{ path : 0 }")
List<Foo> findByPath(String path);

Nous recommandons généralement d'introduire un DTO dédié pour cela afin d'éviter le Foo partiellement rempli instance d'être transmise à save(…) tour à tour.

Une autre option consiste à utiliser le cadre d'agrégation, mais c'est plus compliqué.