Ich sehe zwei Optionen, um eine Suche nach mehreren IDs zu erreichen:
// 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
bietet eine bequeme Methode mit einer ObjectId
und wenn Sie einen annotierten String
verwenden anstelle einer ObjectId
, die Oid.withOid
-Methode transformiert Ihren String
in eine ObjectId
.
Aber am Ende wird diese bequeme Methodeneingabe in eine reguläre Zeichenfolgenabfrage umgewandelt. Wenn die Bequemlichkeit Ihren Anforderungen nicht entspricht, versuchen Sie es stattdessen mit einer Abfrage.