Запрос занимает больше времени, чтобы найти данные - PullRequest
0 голосов
/ 17 февраля 2020

Мои данные хранятся в дБ в соответствии со следующим форматом

   {
  "amount": 10000000000,
  "fee": [
    {

     "toWallet":"user"
    }
  ],
  "timestamp": "2020-02-17T06:59:36.391Z",
  "toUser": "user1",
  "currency": "test",
  "transactionInvoker": "admin",
  "type": "sell",
}

У меня более 60000 записей, которые я использую ниже. Запрос

{
  "limit": 1000000,
  "selector": {
    "$and": [
      {
        "$or": [
          {
            "type": "sell"
          },
          {
            "type": "transfer"
          },
          {
            "type": "buy"
          },
          {
            "type": "request"
          },
          {
            "type": "Reject"
          }
        ]
      },
      {
        "$or": [
          {
            "fromUser": "user1"
          },
          {
            "toUser": "user1"
          },
          {
            "requestee": "user1"
          },
          {
            "requester": "user1"
          },
          {
            "recipient": "user1"
          },
          {
            "User": "user1"
          },
          {
            "transactionInvoker": "user1"
          },
          {
            "fee": {
              "$elemMatch": {
                "$or": [
                  {
                    "toUser": "user1"
                  }
                ]
              }
            }
          }
        ]
      }
    ]
  },
  "sort": [
    {
      "timestamp": "desc"
    }
  ]
}

Мой запрос занимает 1 мин. , Как я могу создать индексирование, чтобы запрос мог дать результат быстро?

Я использую селектор для поиска данных, поэтому, пожалуйста, помогите мне, если другой способ найти данные, я не могу изменить свой запрос.

...