# #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 и перезапустил свой терминал, и он успешно подключился к работе