【问题标题】:Decrease variable value of all children firebase减少所有儿童火力基地的变量值
【发布时间】:2017-06-10 19:00:07
【问题描述】:

如何更新 Firebase Cloud Functions 中所有子项的子项值?我使用正则表达式和 AngularFire 找到了其他答案,并且在单个级别上进行了一些更新(这是 2 个级别),但是有没有办法快速减少某个键的所有子变量?例如:

database -
     posts -
       RaNd_0MK3y1-
          variable: x
       RaNd_0MK3y2
          variable: y

并在调用 Cloud Function 时将 variable 的所有值减 1?

【问题讨论】:

  • 云函数与此有什么关系?另外:你有没有尝试过什么?有一些关于如何access the Firebase Database from Cloud Functionsfrom Node.js 的相当不错的文档,所以你应该能够到达某个地方。
  • @FrankvanPuffelen Cloud Functions 只是我正在做的,它们无关紧要,这主要是关于从 javascript 编辑数据库。

标签: javascript node.js firebase


【解决方案1】:

这与文档中描述的差不多,并不令人惊讶。这里没有魔法。

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

// later inside your function call
const ref = admin.database().ref('database/posts');
ref.once('value').then(snap => {
   snap.forEach(ss => {
      ss.ref.transaction(val => (val||0) + 1);
   });
});

但您可能想做的是编写一个函数,该函数在更新单个项目时触发,然后以更一对一的方式更新它们。没有用例很难说。请务必查看the XY problem

【讨论】:

  • 不,我真的只是想全面更新每个值。感谢您的回答。
猜你喜欢
  • 2016-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多