一、使用Query 和 Criteria 进行查询
Query的实现:
Query query = new Query(Criteria.where(“要查询的属性”).is(“属性值”));
如果条件多,可这样 and() 和 andOperator()
new Query(Criteria.where(“要查询的属性”).is(“属性值”).and(“要查询的属性”).is(“属性值”))
或者
new Query(Criteria.where(“要查询的属性”).is(“属性值”).andOperator(Criteria.where(“要查询的属性”).is(“属性值”)));
==一个Criteria中只能有一个andOperator,and可以多个,我们查询并列条件时,比较建议使用and方法。 ==
/**
*根据patient_id获取MetadataHis中form_data.ZLFF=Immune的数据,返回结果按照exam_time升序排序
*/
private List<CdrData> findMedicationByPatienId(String patientId) {
//设置mongo查询条件
Query query = new Query(Criteria.where("age").gte(21).lt(24).and("name").is("xx"));
#或者
Query query = new Query(Criteria.where("age").gte(21).lt(24).andOperator(Criteria.where("name").is("xx")));
#或者
Query query = new Query(Criteria.andOperator(Criteria.where("age").gte(21).lt(24),Criteria.where("name").is("xx")));
return mongoTemplate.find(query, CdrData.class);
}
二、使用BasicDBObject 进行查询
查询条件设置
BasicDBObject queryCond = new BasicDBObject();
- 单个字段
queryCond.put("data_source"