У меня есть набор идентификаторов, например:
["51eae104c2e6b6c222ec3432", "51eae104c2e6b6c222ec3432", "51eae104c2e6b6c222ec3432"]
Мне нужно найти все документы, используя этот набор идентификаторов.
BasicDBObject query = new BasicDBObject();
BasicDBList list = new BasicDBList();
ObjectId ob1 = new ObjectId("51eae100c2e6b6c222ec3431");
ObjectId ob2 = new ObjectId("51eae100c2e6b6c222ec3432");
list.add(ob1);
list.add(ob2);
query.append("_id", new BasicDBObject("$in", list));
Этот запрос ничего не может найти, потому что он такой же, как
{ "_id" : { "$in" : [ { "$oid" : "51eae100c2e6b6c222ec3431"} , { "$oid" : "51eae100c2e6b6c222ec3432"}]}}
Чтобы найти что-то, это должно быть
{_id:{$in:[ObjectId("51eae100c2e6b6c222ec3431") , ObjectId("51eae104c2e6b6c222ec3432")]}}
но я не знаю, как сделать ObjectId("51eae100c2e6b6c222ec3431")
в списке с помощью java