Widzę dwie opcje, aby znaleźć znalezisko dla wielu identyfikatorów:
// 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 oferuje wygodną metodę z ObjectId a jeśli używasz adnotowanego String zamiast ObjectId , Oid.withOid metoda przekształca Twój String w ObjectId .
Ale w końcu dane wejściowe metody wygody są przekształcane w zwykłe zapytanie o sprecyzowanej strukturze. Więc jeśli wygoda nie odpowiada Twoim potrzebom, wypróbuj zamiast tego zapytanie.