Я пытаюсь перевести рабочий запрос Mongo Shell в java, но кажется, что я столкнулся со стеной.Я использую Mongo-Java-драйвер: 3.9.1.Запрос оболочки выглядит следующим образом:
db.getCollection('xyz').find({source_id: ObjectId("abc"), timestamp: {
$gte : ISODate("2019-04-05 18:24:00.000Z"),
$lt: ISODate("2019-04-05 18:30:00.000Z")
}
})
Запрос включает два критерия: совпадающий source_id и отметки времени между двумя указанными датами.
Мой Java-запрос выглядит так (startDate и endDateдаты в формате):
FindIterable<Document> cursor = collection.find(and(eq("source_id", new ObjectId("abc"))), and(gte("timestamp", startDate), lt("timestamp", endDate)));
Intellij дает мне сообщение: «Не удается найти метод» find (org.bson.conversions.Bson, org.bson.conversions.Bson) ».Это логическая ошибка или создание такого фильтра невозможно?