1.场景
查询某字段在MongoDB中是否存在,并返回一条查询记录。
如在集合com.company中某些记录存在字段“F1_0909”,但另外一些记录不包含这个字段,我们需要查询出来包含该字段的记录,并返回一条。
2.java代码实现
//collectionName为集合名称
//Map.class 指返回结果为字典形式
String field = "F1_0909";
Query query = new Query();
query.fields().include(field);
query.addCriteria(new Criteria(filed).exists(true));
Map map = mongoTemplate.findOne(query, Map.class, collectionName);
以上查询返回的就是包含F1_0909字段的document。
以上查询对应的sql命令:
db.getcollection(“com.company”).find({F1_0909:{$exists:true}}, {F1_0909:1}).limit(1);