Есть ли способ автоматического увеличения поля в firebase - PullRequest
0 голосов
/ 15 января 2019

Я хочу автоматически увеличивать номер запаса для каждого нового элемента, добавленного в базу данных пожарного депо. (Не используя метод push())

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

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

1 Ответ

0 голосов
/ 15 января 2019

Вы можете сделать это легко, используя Облачные функции

// Change '/COLLECTION/{DOC}' to which document do you want to increment the counter when it's created
exports.counter = functions.firestore.document('/COLLECTION/{DOC}').onCreate((snap, context) => {
  const db = admin.firestore();

  // Change 'counter/ref' to where do you want to increment
  const countRef = db.doc('counter/ref');
  return db.runTransaction(t => {
    return t.get(countRef).then(doc => {
      const counter = (doc.data().counter || 0) + 1;
      t.update(countRef, {counter: counter});
    });
  });
});

Подробнее об облачных функциях можно узнать здесь https://firebase.google.com/docs/functions/

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