是否有可能实现与条件不同的MongoDB,如下所示,但是使用Java驱动程序?
db.orders.distinct( 'ord_dt', { price: { $gt: 10 } } )
我尝试使用MongoRepository
,如下所示
// Enables the distinct flag for the query
List<Person> findDistinctPeopleByLastnameOrFirstname(String lastname, String firstname);
List<Person> findPeopleDistinctByLastnameOrFirstname(String lastname, String firstname);
但在我看来它运作不正常。我也试过MongoTemplate
mongoTemplate.getCollection("mycollection").distinct("myfield")
但是没有办法实施条件。知道如何解决这个问题吗?
祝你好运
答案 0 :(得分:11)
Spring MongoTemplate
内置distinct
query
支持:
mongoTemplate.getCollection("collection_name").distinct("field", new BasicDBObject("price", new BasicDBObject("$gt", 10)));
答案 1 :(得分:0)
这可能会对你有帮助。
BasicDBObject match = new BasicDBObject();
match.put("$query", new BasicDBObject("price", new BasicDBObject("$gt", 10)));
List list = mongoTemplate.getCollection("mycollection").distinct("ord_dt", match);