Низкая производительность при попытке запросить у mongodb более 30 миллионов документов на Java - PullRequest
0 голосов
/ 05 апреля 2019

Я создаю API для извлечения документов из mongodb, у mongo более 30 миллионов документов, для запроса документов в этой структуре требуется 45-60 секунд с использованием приведенного ниже кода Java:

   {
    "Type": "CUS",
    "ID": "01010101",
    "Set": [
        {
            "Group": "Marketing",
            "Rule": "Rule_1",
            "Ind": "Y", 
        },
        {
            "GroupName": "Sales",
            "RuleName": "Rule_2",
            "Ind": "N",
        }
    ]
   }


    BasicDBObject query = new BasicDBObject();

    query.put("ID", new BasicDBObject("$in", payload.getIds()));

    FindIterable<Document> documents = collection.find(query);

    for (Document doc : documents) {

        // looping through docs and then construct some objects and returns the result to the controller class

    }

похоже, что это занимает слишком много времени в цикле "for (Document doc: documents)", я не уверен, что происходит, не могли бы вы помочь.

Спасибо, и я ценю это.

...