Vedo due opzioni per ottenere una ricerca su più ID:
// 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 un metodo conveniente con un ObjectId
e, se usi una String
annotata invece di un ObjectId
, il Oid.withOid
il metodo trasforma la tua String
in un ObjectId
.
Ma, alla fine, questo input del metodo di convenienza viene trasformato in una normale query in formato stringa. Quindi, se la comodità non si adatta alle tue esigenze, prova invece una query.