Ошибка: 14 НЕДОСТУПНО: Соединение не установлено — Cloud Firestore

# #node.js #firebase #google-cloud-firestore

Вопрос:

Я пытаюсь использовать SDK администратора для firebase на своей машине. Когда я пытаюсь получить коллекцию пользователей, я получаю Error: 14 UNAVAILABLE: No connection established . Запись в firestore также ничего не дает. Как я могу это исправить?

РЕДАКТИРОВАНИЕ из документов:

SDK администратора Firebase автоматически подключаются к эмулятору Cloud Firestore, когда установлена переменная среды FIRESTORE_EMULATOR_HOST

У меня действительно есть набор переменных среды, но я пытаюсь подключиться к производству. Как я могу поручить SDK сделать это?

 index.js

const admin = require("firebase-admin");
const serviceAccount = require("./serviceAccount.json");
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: ""
});

const snapshot =  admin.firestore().collection('users').get().then((snapshot)=>{
  snapshot.forEach((doc) => {
    console.log(doc.id, '=>', doc.data());
  });
}).catch(e=>{
  console.error(e);
});
 

Полный журнал ошибок:

 PS C:Userssimeon.ramjitDocumentsprojectscontrollino-server> node index
Error: 14 UNAVAILABLE: No connection established
    at Object.callErrorFromStatus (C:Userssimeon.ramjitDocumentsprojectscontrollino-servernode_modules@grpcgrpc-jsbuildsrccall.js:31:26)
    at Object.onReceiveStatus (C:Userssimeon.ramjitDocumentsprojectscontrollino-servernode_modules@grpcgrpc-jsbuildsrcclient.js:330:49)
    at Object.onReceiveStatus (C:Userssimeon.ramjitDocumentsprojectscontrollino-servernode_modules@grpcgrpc-jsbuildsrcclient-interceptors.js:299:181)
    at C:Userssimeon.ramjitDocumentsprojectscontrollino-servernode_modules@grpcgrpc-jsbuildsrccall-stream.js:145:78
    at processTicksAndRejections (internal/process/task_queues.js:77:11)
Caused by: Error
    at CollectionReference._get (C:Userssimeon.ramjitDocumentsprojectscontrollino-servernode_modules@google-cloudfirestorebuildsrcreference.js:1450:23)
    at CollectionReference.get (C:Userssimeon.ramjitDocumentsprojectscontrollino-servernode_modules@google-cloudfirestorebuildsrcreference.js:1439:21)
    at Object.<anonymous> (C:Userssimeon.ramjitDocumentsprojectscontrollino-serverindex.js:41:57)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
    at internal/main/run_main_module.js:17:47 {
  code: 14,
  details: 'No connection established',
  metadata: Metadata { internalRepr: Map(0) {}, options: {} }
}
 

Ответ №1:

Как упоминалось выше, если установлена переменная среды FIRESTORE_EMULATOR_HOST, SDK администратора попытается подключиться к вашему эмулятору.

После этого комментария я удалил переменную env и перезапустил свой терминал, и он успешно подключился к работе