sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur returnerar man endast specifika fält för en fråga i Spring Data MongoDB?

MongoDB returnerar endast JSON-dokument för standardfrågor. Det du vill se kan uppnås genom att fortfarande returnera en List<Foo> . fields egenskap i @Query kommer att göra att endast de fält som är inställda på 1 returneras.

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

Vi rekommenderar vanligtvis att du inför en dedikerad DTO för det så att du förhindrar den delvis ifyllda Foo instans från att lämnas till save(…) i sin tur.

Ett annat alternativ är att använda aggregeringsramverket, men det är mer involverat.



  1. Rails och caching, är det lätt att växla mellan memcache och redis?

  2. MongoDB använder NOT och AND tillsammans

  3. Hur hanterar jag en godtycklig hash som returneras från mongo i go (med hjälp av mgo)?

  4. Få tillgång till undersamling i mongoid med skenor för att redigera och skapa ny post