[英]MongoTemplate how to add more than two “orOperator” in Query
[英]OrOperator in MongoTemplate not returning values?
我正在使用MongoDB開發Spring MVC。 我使用orOperator為某些字段添加了條件,每個字段在數據庫中都有值,但是列表返回為空。
criteriaQuery.addCriteria(Criteria.where("First_Name").is(docName.trim())
.orOperator(Criteria.where("Middle_Name").is(docName.trim())
.orOperator(Criteria.where("Last_Name").is(docName.trim()))));
控制台中的查詢打印是
Query: { "First_Name" : "ESTHER" , "$or" : [ { "Middle_Name" : "ESTHER" , "$or" : [ { "Last_Name" : "ESTHER"}]}]}, Fields: null, Sort: null
我嘗試了Like查詢,但是結果也一樣
criteriaQuery.addCriteria(Criteria.where("First_Name").regex(docName)
.orOperator(Criteria.where("Middle_Name").regex(docName))
.orOperator(Criteria.where("Last_Name").regex(docName)));
Mongo查詢
db.doctor_details.find({ "$or" : {"First_Name" : { "$regex" : "ESTHER"} }, "$or" : [ { "Middle_Name" : { "$regex" : "ESTHER"} , "$or" : [ { "Last_Name" : { "$regex" : "ESTHER"}}]}]})
幫助我獲得結果,我不知道我的代碼在哪里出錯。 感謝幫助!
謝謝
據我記得,要使用orOperator,您應該執行以下操作:
Query query = new Query(new Criteria().orOperator(criteriaV1,criteriaV2));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.