Запрос администратора Firestore терпит неудачу на больших коллекциях - PullRequest
0 голосов
/ 21 июня 2019

Я создал админ-панель на клиенте, где я вызываю функцию в облаке, чтобы получить документы для выбранной коллекции. Запрос в функции выглядит так:

  adminDb
    .collection(selectedCollection)
    .get()
    .then(snapshot => {
      if (snapshot.size === 0) throw new functions.https.HttpsError('not-found', 'No entries found')

      return snapshot.docs.map(doc => {
        return {
          id: doc.id,
          data: doc.data(),
        }
      })
    })

В моем случае это работает для коллекции с примерно 500 записями, хотя это уже занимает много времени:

callableAdminGetDocs
Function execution started

callableAdminGetDocs
Function execution took 1298 ms, finished with status code: 204

callableAdminGetDocs
Function execution started

callableAdminGetDocs
Function execution took 4528 ms, finished with status code: 200

Запрашивая коллекцию с 1800 записями, я получаю следующую ошибку:

callableAdminGetDocs
Function execution started

callableAdminGetDocs
Function execution took 14 ms, finished with status code: 204

callableAdminGetDocs
Function execution started

callableAdminGetDocs
Function execution took 19258 ms, finished with status: 'response error'

в то время как на стороне клиента я получаю эти журналы:

POST https://us-central1-[].cloudfunctions.net/callableAdminGetDocs 502
[]:1 Access to fetch at 'https://us-central1-[].cloudfunctions.net/callableAdminGetDocs' from origin 'https://[].com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

В чем здесь проблема? Является ли общим ограничением использование такого рода административных запросов суперэффективности и, следовательно, сбой для «больших» коллекций?

...