簡體   English   中英

如何在spring中的mongoDB中查詢過濾

[英]How to Query and filter in mongoDB in spring

我想按字符串數組的標簽搜索我的食譜,並希望按標簽過濾

我知道會

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

但我不知道如何在 java spring 中編寫查詢以靈活靈活意味着過濾選項的數量可以變化

自動裝配 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
}

我們可以從客戶端獲取標簽列表,然后通過該標簽進行搜索

@GetMapping("/recipe/searchByTags/{tags}")

public List<Recipe> getRecipesByTags(@PathVariable List<String> tags){
    Query query =  Query.query(
            Criteria.where("tags").all(tags)
    );
    return  mongoTemplate.find(query,Recipe.class);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM