Как добавить поля в новый документ onCreate? - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь добавить новые поля в новый документ после расчета, что я должен сделать при создании нового документа. Но поле не добавлено.

Я развернул этот код без ошибок, но при добавлении нового документа по этому пути ничего не происходит ..

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const db = admin.firestore();

exports.test = functions.firestore.document('a/{a.id}/b/{b.id}/c/d')
.onCreate(async(snapshot, context) => {
  const data = snapshot.data();
  const userRef = db.doc(`a/${a.id}/b/${b.id}/c/d`);
  var result = 1+2; //just for lighter code example
  return userRef.update({
    result: result
  });
})

1 Ответ

0 голосов
/ 05 июля 2019

Ваши символы недопустимы. Вы не можете иметь точку в имени подстановочного знака. Я немного удивлен, что Firebase CLI позволил вам развернуть эту функцию. Кроме того, вы не правильно используете подстановочные знаки, даже если эти подстановочные знаки были действительными.

Существует более простой способ получить ссылку на только что созданный документ. Вы можете использовать snapshot.ref.

exports.test = functions.firestore.document('a/{a}/b/{b}/c/d')
.onCreate(async(snapshot, context) => {
  var result = 1+2; //just for lighter code example
  return snapshot.ref.update({
    result: result
  });
})

Если вы хотите использовать подстановочные значения, вместо этого следует использовать context.params, как описано в документации .

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