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.