spring-data-mongodb:1.2.0.RELEASE と QueryDSL:2.9.0 を使用しています。
私は次のようなクラスを持っています:
@Document(collection = "A")
public class A {
public BigInteger id;
}
そして、次のようなリポジトリ:
@Repository
public interface ARepository extends MongoRepository<A, BigInteger>, QueryDslPredicateExecutor<A>
次のようにリポジトリを照会しているとき: QA.a.id.eq(a.id)
すべて問題ありません。mongo db ログで次のクエリを確認できます。
query db.A query: { _id: ObjectId('51b8a1dfea34feab29624713') }
しかし、識別子の配列でクエリを実行しているとき
QA.a.id.in(a.id,a.id)
私は何も得ません。クエリは次のとおりです。
command db.$cmd command: { count: "A", query: { _id: { $in: [ "25291516816863698974474381015", "25291516816863698974474381015" ] } } }
ObjectId ラッピングを使用していません。それで、それはバグですか?