лучший способ запросить более 1 миллиона записей из коллекции MongoDB - PullRequest
0 голосов
/ 08 февраля 2020

Пожалуйста, найдите мои образцы документов из mongoDB ниже:

[
    {
        "_id" : ObjectId("55c0e5e5511f0a164a581907"),
        "_class" : "sample.model.User",
        "name" : "Eric",
        "DOJ" : "2012-01-22 08:09:20.000",
        "age" : 45
    },
    {
        "_id" : ObjectId("55c0e5e5511f0a164a581908"),
        "_class" : "sample.model.User",
        "name" : "Antony",
        "DOJ" : "2011-07-22 08:09:20.000",
        "age" : 33
    },
    {
        "_id" : ObjectId("55c0e5e5511f0a164a581909"),
        "_class" : "sample.model.User",
        "name" : "Alice",
        "DOJ" : "2018-05-01 08:16:20.000",
        "age" : 35
    }
]

У меня есть миллион подобных записей в моей коллекции. Мне нужен эффективный способ сделать запрос, основанный на дате DOJ, когда есть вероятность, что я могу получить более миллиона записей за одну и ту же дату DOJ. Ниже приведен пример кода, который я использовал для извлечения записей с помощью mongoTemplate ниже:

Criteria criteria = new Criteria().andOperator(Criteria.where("DOJ").gte("2018-01-01 08:10:00.000"), Criteria.where("DOJ").lte("2020-01-01 08:10:00.000"));
Query query = new Query(criteria);
List<User> users = mongoTemplate.find(query,User.class);

Если возвращенные результаты превышают 100 000 записей, мне нужно иметь нумерацию страниц с записями, сгруппированными по каждому МЮ, или если имеет 100 000 на одну и ту же дату в DOJ, тогда у меня должен быть лог c, чтобы сгруппировать его по часам. Любая помощь высоко ценится ..

...