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.