如何在 mongo 模板的不同功能中使用 DBObject 查询?

How to use DBObject Query in distinct function of mongo template?

我想找到具有某些查询条件的字段的不同值。我的代码是..

public List searchservice(String th_type) {

    Query query = new Query();
    query.addCriteria(Criteria.where("th_type").regex(th_type));
    List list = operations.getCollection("doclist").distinct("th_type", query);

    return list;
}

在 mongo 模板中定义了一个不同的函数

mongoTemplate.getCollection(collection).distinct(key, query)

我的代码出错了,因为我使用的是简单的查询对象而不是 DBObject 查询。我如何在这里使用 DBObject 查询?

为此使用BasicDBObject

public List searchservice(String th_type) {    
    BasicDBObject dbObject = new BasicDBObject();
    dbObject.append("th_type", th_type); 

    DBCollection dBCollection = operations.getCollection("doclist");
    List list = dBCollection.distinct("th_type", dbObject);    

    return list;
}

更新:

使用正则表达式:

BasicDBObject regexQuery = new BasicDBObject(); 
regexQuery.put("th_type", new BasicDBObject("$regex", th_type)); 
List list = operations.getCollection("doclist").distinct("th_type",regexQuery);