[英]Spring Data mongo - issue with Distinct collection
Spring Data Mongo distinct doesn't works. Spring Data Mongo与众不同不起作用。 I've following two documents.
我关注了两个文件。
/* 1 */
{
"_id" : ObjectId("5ca746fd92bc0733a4a6633b"),
"firstName" : "John",
"lastName" : "Kerr",
"emailId" : "john.kerr@gmail.com",
"hobbies" : [
{
"interest" : "Indoor",
"sports" : "Chess"
},
{
"interest" : "Loveoor",
"sports" : "Table Tennis"
}
],
"_class" : "com.example.Person"
}
/* 2 */
{
"_id" : ObjectId("5ca746fd92bc0733a4a6633c"),
"firstName" : "Neha",
"lastName" : "Parate",
"emailId" : "john.kerr@gmail.com",
"hobbies" : [
{
"interest" : "Indoor",
"sports" : "Chess"
},
{
"interest" : "Loveoor",
"sports" : "Table Tennis"
},
{
"interest" : "Happydoor",
"sports" : "Lawn Tennis"
}
],
"_class" : "com.example.Person"
}
When I do db.person.distinct('hobbies')
, I get the distinct records easily. 当我执行
db.person.distinct('hobbies')
,我很容易获得不同的记录。
[
{
"interest" : "Indoor",
"sports" : "Chess"
},
{
"interest" : "Loveoor",
"sports" : "Table Tennis"
},
{
"interest" : "Happydoor",
"sports" : "Lawn Tennis"
}
]
The same I wants to do using Spring Data Mongo or MongoTemplate. 我想使用Spring Data Mongo或MongoTemplate做同样的事情。 But none of the ways things are working.
但是,一切都没有起作用的方式。
@Query(value = "{}", fields = "{'hobbies' : 1}")
List<Person> findByDistinctHobbies();
In the latest version of Spring Data Mongo as per docs: https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongo-template.query.distinct . 在最新版本的Spring Data Mongo中 ,根据docs: https : //docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongo-template.query.distinct 。 You can even query to the embedded document to find out the
distinct
documents. 您甚至可以查询嵌入的文档以找出
distinct
文档。
Through MongoTemplate you can achieve like below: 通过MongoTemplate,您可以实现如下所示:
List<Object> object = mongoTemplate.query(Person.class).distinct("hobbies").all();
for (Object object2 : object) {
Hobbies hobbies = (Hobbies) object2;
System.out.println(hobbies);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.