如何在 Spring Boot 中為以下查詢構建 mongodb 的自定義查詢(使用 mongodb 模板)?
db.getCollection('collectionName').find(
{$or:[
{$and:[{"name":"xyz"},{"address:"1234"}]},
{$and:[{"name":"abc"},{"address":"001"}]},
{..}
{..so on..}
]})
我們可以使用 Criteria Query 來查詢這個嗎?
uj5u.com熱心網友回復:
您可以通過以下方式構建查詢:
Criteria criteria = new Criteria();
criteria.orOperator(
Criteria.where("name").is("xyz").and("address").is("1234"),
Criteria.where("name").is("abc").and("address").is("001"),
Criteria.where(...),
Criteria.where(...)
);
Query query = new Query(criteria);
mongoTemplate.find(query, YourClass.class, "CollectionName");
如果您必須使用的條件數量不固定,您可以填充串列Criteria并將其傳遞給orOperator函式:
List<Criteria> criterias = new ArrayList<>();
for (...) {
//populate list
criterias.add(Criteria.where(...).is(...).and(...).is(...);
}
Criteria criteria = new Criteria();
criteria.orOperator(criterias);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/414716.html
標籤:
下一篇:在DockerCompose中獲取“MongooseServerSelectionError:連接ECONNREFUSED127.0.0.1:27017”
