我正在使用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":#}}"
查询无法按照网址In Jongo, how to find multiple documents from Mongodb by a list of IDs
中的说明运行有关如何解决的任何建议吗?
感谢。
答案 0 :(得分:3)
使用docs:
上显示的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();
例如我快速制作的以下片段&amp;脏了现在为我工作(我使用较旧的详细语法,因为我目前在这样一个系统...)
{{1}}