Jeg ser to muligheder for at opnå et fund på flere id'er:
// 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 tilbyder en bekvemmelighedsmetode med et ObjectId og hvis du bruger en kommenteret String i stedet for et ObjectId , Oid.withOid metode transformerer din String ind i et ObjectId .
Men i sidste ende bliver denne bekvemmelighedsmetode-input omdannet til en almindelig strenget forespørgsel. Så hvis bekvemmeligheden ikke passer til dit behov, så prøv en forespørgsel i stedet.