首页 > 解决方案 > java中的Mongo正则表达式查询

问题描述

如何在 java 中编写此查询。

db.getCollection('recipe_qmeshm_enumerations').find({
           "values.value":/^\QbuTTer\E$/i
   })

我正在尝试这样写,但没有给出任何结果。

Criteria criteria2 = new Criteria().where("values.value").regex("/^\QbuTTer\E$/i");
    
Query query2 = new Query();

query2.addCriteria(criteria2);

标签: javaspringmongodb

解决方案


我可以自己创建查询。上面的查询可以写成

db.getCollection('recipe_qmeshm_enumerations').find({
           "values.value":/^Ice cream$/i 
   })

在java中,

String searchValue = "ice cream";
Criteria criteria2 = new Criteria().where("values.value").regex("^"+searchValue+"$","i");
        Query query2 = new Query(); 
        query2.addCriteria(criteria2);
        List<Document> enumsDoc = mongoAddonsTemplate.find(query2, Document.class, indexName);

推荐阅读