sql >> Base de Datos >  >> NoSQL >> MongoDB

Distinto en Spring Data MongoDB

Después de hurgar un poco, se me ocurrió la siguiente solución, que está bien y funciona, pero probablemente se pueda mejorar. Todavía soy bastante nuevo en Spring, así que si tienes una idea mejor, házmelo saber.

De todos modos, aquí está:

En primer lugar, usamos el @Autowired anotación para incorporar MongoTemplate base desde spring-data-mongodb

@Autowired
MongoTemplate mongoTemplate;

Una vez que tengamos eso, podemos usarlo para hacer algunas consultas. Tenga en cuenta que esta es la parte ligeramente maloliente porque tiene que decirle a Spring cuál es el tipo de retorno y realmente no le gusta eso...

// Get the distinct stuff from MongoDB
List<String> coll = mongoTemplate.getCollection("mycollection").distinct("myfield");

En el código anterior, notará que he definido una variable de tipo Lista llamada coll que usa @Autowired MongoTemplate variable para obtener una colección y luego un campo usando distinto. Esto es análogo a db.whatever.distinct("term") en el caparazón de Mongo.