Как я могу написать в свою базу данных firestore, используя функции? - PullRequest
0 голосов
/ 24 февраля 2020

Я новичок ie в пожарном депо. я пытаюсь записать следующие данные в мою базу данных firestore:

    export const testingOnly = functions.database.ref('users/{userID}/')
.onCreate((snapshot, context) => {
    let addDoc = {
        c_username: 'Amanda',
        c_password: 'adamma21',
        isEmailConfirmed: true,
        isTelephoneNumberConfirmed: false
    }
    return snapshot.ref.set(addDoc);
});

После паузы я запустил на терминале следующее:

npm run-script build

firebase functions: shell

It showed me this:

 C:\brighterbrains\functions> npm run-script build

> functions@ build C:\brighterbrains\functions
> tsc

PS C:\brighterbrains\functions> firebase functions:shell
!  Your requested "node" version "8" doesn't match your global version "12"       
+  functions: Emulator started at http://localhost:5000
i  functions: Loaded functions: testingOnly
firebase > testingOnly
[Function: bound ]
firebase >

я проверил свою базу данных Firestore , это все еще пусто.

Я делаю это правильно? Есть ли что-то, что я пропускаю в своем коде?

Мне нужна помощь.

Ответы [ 2 ]

1 голос
/ 24 февраля 2020

Обратите внимание, что неясно, должна ли ваша облачная функция запускаться событием в Базе данных реального времени (как показано вашим кодом) или в Cloud Firestore (как показано в текст вашего вопроса).


Интерфейс командной строки Firebase включает в себя эмулятор Cloud Functions, который позволяет локально запускать Cloud Functions. Но на момент написания этого эмулятора можно было эмулировать только следующие типы функций, см. do c:

  • HTTPS-функции
  • Вызываемые функции
  • Облачные функции Firestore

Итак, поскольку ваша облачная функция, похоже, запускается событиями в базе данных реального времени, вам потребуется развернуть ее , чтобы запустить его. См. «Начало работы» до c для получения более подробной информации о том, как продолжить или посмотреть «Начало работы с облачными функциями для Firebase с использованием TypeScript» video , которое использует TypeScript, но также действителен для части CLI для JavaScript.


С другой стороны, если вы действительно хотите запустить его с помощью события в Cloud Firestore, вы должны сначала изменить код своей функции (см. do c (см. выше), а затем используйте эмулятор, как описано в do c (или разверните его).

0 голосов
/ 24 февраля 2020

Есть несколько способов, которыми вы можете записать свои данные. Для записи можно выполнить две атомарные операции c, для записи данных в хранилище вы можете: Транзакции и пакетная запись .

* 1006. * Учитывая это, я бы порекомендовал вам взглянуть на следующую документацию, чтобы вы могли проверить, какая из них лучше соответствует вашей нынешней ситуации.

В этих двух следующих статьях есть еще несколько примеров, включая примеры кода, о том, как реализовать это в вашем приложении, и я бы рекомендовал вам проверить.

С помощью этих статей вы сможете достичь ваших данных записи функции и методы без проблем.

Дайте мне знать, помогла ли вам информация!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...