Je vois deux options pour effectuer une recherche sur plusieurs identifiants :
// 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 offre une méthode pratique avec un ObjectId et, si vous utilisez une String annotée au lieu d'un ObjectId , le Oid.withOid la méthode transforme votre String dans un ObjectId .
Mais, à la fin, cette entrée de méthode pratique est transformée en une requête stringifiée régulière. Donc, si la commodité ne correspond pas à vos besoins, essayez plutôt une requête.