私は MongoRepository を使用しており、クエリを作成しています。愚かな問題かもしれませんが、解決策が見つかりません。私はこの @Query を持っています:
@Query("{'offerConfiguration.initOffer' : {'$lt' : ?0}, 'offerConfiguration.endOffer' : {'$gt' : ?1}, 'offerConfiguration.offerType': ?2, " +
"$or: [{transactionStatus:'PAYPAL_DONE'}, {transactionStatus:'PAYMILL_DONE'}]}")
私が理解しているのは、日付が2つの日付の間にあるすべてのドキュメントを見つけようとしているということです(その部分は機能します)、オファータイプは製品であり、TransactionStatusはPAYPAL_DONEまたはPAYMILL_DONEです。問題は、transactionStatus フィルターを配置すると、その結果、offerType が指定したものとは異なるドキュメントが返されることです。この部分「'offerConfiguration.offerType': ?2」は AND であることを理解している限り、真でない場合はドキュメントを受け取るべきではありません。私が間違っていることは何ですか?!?