[英]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.