Jag ser två alternativ för att hitta på flera 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
erbjuder en bekvämlighetsmetod med ett ObjectId
och, om du använder en kommenterad String
istället för ett ObjectId
, Oid.withOid
metod omvandlar din String
till ett ObjectId
.
Men i slutändan omvandlas denna indata från bekvämlighetsmetoden till en vanlig strängad fråga. Så om bekvämligheten inte passar dina behov, försök med en fråga istället.