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.