Доступ к базе данных Cload Firestore с использованием локально запущенного эмулятора функций Firebase - PullRequest
0 голосов
/ 03 июля 2019

Я использую Firebase Emulator Suite для локального запуска и отладки моих функций Cload, как описано в этом руководстве: https://firebase.google.com/docs/functions/local-emulator

Я получил готовую базу данных Cload Firestore с некоторыми данными в ней.

Я пытаюсь извлечь данные из Cload Firestore через мои локально эмулированные функции клода.

До сих пор я подходил к разделу «Написание кода функции облака» в https://cloud.google.com/community/tutorials/cloud-functions-firestore

Мой файл functions / src / index.ts выглядит следующим образом:

import * as functions from 'firebase-functions';

const Firestore = require('@google-cloud/firestore');
const cors = require('cors')({origin: true});
const admin = require('firebase-admin');

admin.initializeApp();

const PROJECTID = 'XYZ';
const firestore = new Firestore({
  projectId: PROJECTID
});

const logger = function(object: any){
    console.log(JSON.stringify(object));
} 

export const create_order = functions.https.onRequest((request, response) => {
    cors(request, response, () => {
        // var test_doc_id = "82GKB2P6xee9lftOidDj";
        const trucks = firestore.collection("trucks").get();
        logger(trucks);
        response.send(JSON.stringify(firestore));
    });
});

Я ожидал, что значение «грузовиков» будет представлять собой массив всех грузовиков, поступающих из пожарного депо, но результата нет »{} "возвращаюсь.

Может ли кто-нибудь дать мне подсказки, руководства и предложения, как это сделать правильно?

С уважением и спасибо за помощь

1 Ответ

1 голос
/ 16 июля 2019

firestore.collection("trucks").get() возвращает Обещание .

Если вы хотите выйти из данных, вы можете написать асинхронный метод:

cors(request, response, async () => {
  const trucks = await firestore.collection('trucks').get();
  logger(trucks);
  // ...
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...