以下 $in 查询中出现太多参数错误

Too many parameters error on the following $in query

我正在使用 jongo API - org.jongo.MongoCollection 是 class。

我有对象 ID 列表并转换为 ObjectId[] 并尝试按如下方式查询

collection.find("{_id:{$in:#}}", ids).as(Employee.class);

The query throws the exception - "java.lang.IllegalArgumentException: Too      
many parameters passed to query: {"_id":{"$in":#}}"

查询未按照 URL In Jongo, how to find multiple documents from Mongodb by a list of IDs

中指定的方式运行

有什么解决方法的建议吗?

谢谢。

docs 所示,用 List 试试:

List<String> ages = Lists.newArrayList(22, 63);
friends.find("{age: {$in:#}}", ages); //→ will produce {age: {$in:[22,63]}}

例如,以下我制作的快速而肮脏的片段现在对我有用(我使用较旧的冗长语法,因为我目前在这样的系统上......)

List<ObjectId> ids = new ArrayList<ObjectId>();
ids.add(new ObjectId("57bc7ec7b8283b457ae4ef01"));
ids.add(new ObjectId("57bc7ec7b8283b457ae4ef02"));
ids.add(new ObjectId("57bc7ec7b8283b457ae4ef03"));
int count = friends.find("{ _id: { $in: # } }", ids).as(Friend.class).count();