【问题标题】:MongoDB Distinct with condition in JavaMongoDB与Java中的条件不同
【发布时间】:2014-10-29 11:48:01
【问题描述】:

是否有可能实现 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")

但是没有办法实现条件。知道如何解决吗?

最好的问候

【问题讨论】:

    标签: java spring mongodb distinct


    【解决方案1】:

    Spring MongoTemplate 内置了对 distinctquery 的支持:

    mongoTemplate.getCollection("collection_name").distinct("field", new BasicDBObject("price", new BasicDBObject("$gt", 10)));

    【讨论】:

      【解决方案2】:

      这可能会对你有所帮助。

      BasicDBObject match = new BasicDBObject();
      match.put("$query", new BasicDBObject("price", new BasicDBObject("$gt", 10)));
      List list = mongoTemplate.getCollection("mycollection").distinct("ord_dt", match);
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-31
      • 2013-02-11
      • 2021-07-13
      • 2021-10-31
      • 1970-01-01
      • 2021-09-10
      • 1970-01-01
      • 2022-01-26
      相关资源
      最近更新 更多