首页 > 解决方案 > spring如何在mongoDB中查询过滤

问题描述

我想按字符串数组的标签搜索我的食谱,并希望按标签过滤

我知道会

db.Recipe.find({$and:[{tags:"Desert"},{tags:"low-fat"}]}).pretty()

但我不知道如何在 java spring 中编写查询以灵活灵活意味着过滤选项的数量可以变化

标签: javaspringmongodbspring-boot

解决方案


自动装配 MongoTemplate

@Autowired
MongoTemplate mongoTemplate;

然后在里面使用你的过滤器andOperator()

public void somemethod(){
    Query query=Query.query( new Criteria().andOperator(
        Criteria.where("tags").is("Desert"),
        Criteria.where("anotherFilter").is("answer"),
        // write more filter
        )
    );

    List<Recipe> =mongoTemplate.find(query,Recipe.class);
    // do your stuffs
}

推荐阅读