Vidím dvě možnosti, jak dosáhnout hledání na více 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 nabízí pohodlnou metodu s ObjectId a pokud použijete String s anotací namísto ObjectId , Oid.withOid metoda transformuje váš String do ObjectId .
Nakonec se však tento vstup z pohodlné metody transformuje na běžný stringifikovaný dotaz. Pokud tedy pohodlí nevyhovuje vašim potřebám, zkuste místo toho dotaz.