2

我正在使用 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 包装。那么,这是一个错误吗?

4

0 回答 0