麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

spring boot mogodb多條件拼接的解決方法

2024-07-14 08:42:03
字體:
來源:轉載
供稿:網友

起因

當前我們使用mongodb進行查詢時,有時我們的條件是分塊生成的,它可能來自一個列表里,我們的條件需要根據列表去返回數據,這里有個問題,如果遍歷列表,然后每次都去從mongodb里查詢數據 ,這種性能顯然是不好的,我們需要把條件進行拼接,一次把數據查詢出來!

分析

使用Criteria這個對象去構建查詢條件,使用orOperator來組合多個Criteria實例,最終將列表里所有條件拼接出來,從返回查詢一次即可返回全部數據 。

Criteria[] criterias = criteriaList.toArray(new Criteria[criteriaList.size()]); Criteria criteria = new Criteria(); criteria.orOperator(criterias); Query query = Query.query(criteria);

實現

private List<x> getClients(List<CodeAccountPeriod> codeAccountPeriods) { List<Criteria> criteriaList = new ArrayList<>();  for (CodeAccountPeriod codeAccountPeriod : codeAccountPeriods) {   criteriaList.add(where("accountPeriod").is(codeAccountPeriod.getAccountPeriod())     .and("code").is(codeAccountPeriod.getCode())   );  }  Criteria[] criterias = criteriaList.toArray(new Criteria[criteriaList.size()]);  Criteria criteria = new Criteria();  criteria.orOperator(criterias);  Query query = Query.query(criteria);  List<String> fields = new ArrayList<String>(    Arrays.asList("accountPeriod", "code", "client", "taxProperty", "version"));  for (String name : fields) {   query.fields().include(name);  }  List<x> clients = mongoTemplate.find(query, x);return clients;

有時解決問題的方法可以有多種,我們需要從另一個方面去考慮它。

總結

以上所述是小編給大家介紹的spring boot mogodb多條件拼接的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 狠狠干五月天 | 香蕉黄色网| 国产免费黄网 | 精品国产乱码久久久久久丨区2区 | 日本羞羞影院 | 中文字幕www| 免费一级欧美大片视频 | 日韩.www| 亚洲国产精品一区二区久久 | 亚洲视屏| 成人男女激情免费视频 | 88xx成人永久免费观看 | 成人男女啪啪免费观看网站四虎 | 5xx免费看| 日本在线一区二区 | 国产成人高潮免费观看精品 | 久久一区三区 | 国产精选91 | 草操视频| jizzjizzjizz少妇 | 色综合网在线观看 | 亚洲视频综合 | 成人男男视频拍拍拍在线观看 | 羞羞视频免费网站男男 | 亚洲婷婷日日综合婷婷噜噜噜 | 日本在线播放一区二区 | 黄色一级片免费在线观看 | 欧美淫交| 成人免费在线观看视频 | 秋霞a级毛片在线看 | 国产亚洲精品久久久久婷婷瑜伽 | 在线免费观看毛片 | 久久99综合 | 欧美一级理论 | 国产午夜亚洲精品 | 麻豆自拍偷拍视频 | 免费国产人成网站 | 美女很黄很黄免费的 | 日韩精品免费看 | 国产乱色精品成人免费视频 | 一区二区三区手机在线观看 |