我正在使用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 log中看到下一个查询:
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包装。 那么,这是一个错误吗?