Jag ser två alternativ för att hitta på flera id:
// 1. find with an array of ids
ObjectId[] ids = {id, id, id};
collection.find("{_id:{$in:#}}", ids).as(Friend.class);
// 2.find a list of ids
collection.find("{_id:{$in:[#, #, #]}}", id, id, id).as(Friend.class);
findOne erbjuder en bekvämlighetsmetod med ett ObjectId och, om du använder en kommenterad String istället för ett ObjectId , Oid.withOid metod omvandlar din String till ett ObjectId .
Men i slutändan omvandlas denna indata från bekvämlighetsmetoden till en vanlig strängad fråga. Så om bekvämligheten inte passar dina behov, försök med en fråga istället.