2

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

我有对象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中指定的方式工作

关于如何解决的任何建议?

谢谢。

4

1 回答 1

3

尝试使用文档List中显示的a :

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();
于 2016-08-23T17:25:32.823 回答