私のコレクション構造は次のとおりです
{ name : "xyz" , priLoc :{ area : a , country : c } , secondLoc :
[ {area : b ,country : d},{area : b ,country : d} ]}
priLoc と secondLoc の両方で地域を論理和し、priLoc と secondLoc で国を論理和するクエリを作成したいと思います。
以下のようなクエリを作成しました
var query = new BasicDBObject()
val areaObjList = new BasicDBList
var primaryArea = new BasicDBObject("priLoc.area", areaList)
var secondaryArea = new BasicDBObject("secondLoc.area",areaList)
areaObjList.add(primaryArea)
areaObjList.add(secondaryArea)
query.put("$or", areaObjList)
val countryObjList = new BasicDBList
val primaryCountry = new BasicDBObject("priLoc.country",countryList)
val secondaryCountry = new BasicDBObject("secondLoc.country",countryList)
countryObjList.add(primaryCountry);
countryObjList.add(secondaryCountry);
query.put("$or", countryObjList)
ただし、このコードを実行する場合、areaObjList は countryObjList によって再生されるため、一度にクエリ オブジェクトに存在するオブジェクトは 1 つだけです。
両方またはオブジェクトがareaObjListとcountryObjListを意味するクエリを作成したいと思います。
これをどのように実装しますか。または私は何か間違っている
誰かが知っているなら、返信してください。
ありがとう