小编Ren*_*nec的帖子

如何在 Cloud Function 中触发 Firestore onDelete 后删除存储在 Firebase 存储中的图像?

我想使用云函数后台触发器,所以当我在 Firestore 中删除用户数据时,我还想删除他们在 Firebase 存储中的个人资料图片。

userID 用作该图片的图像名称。并且图像位于 profilepicture 文件夹中

在此处输入图片说明

在此处输入图片说明

export const removeProfilePictureWhenDeletingUserData = functions.firestore
    .document('userss/{userID}')
    .onDelete((snap, context) => {

        const userID = context.params.userID

        // how to delete the image in here?





    });
Run Code Online (Sandbox Code Playgroud)

我试图阅读文档,但我对如何实现该方法感到困惑:(。真的需要你的帮助。提前致谢

google-cloud-storage firebase google-cloud-functions firebase-admin google-cloud-firestore

5
推荐指数
1
解决办法
1769
查看次数

firestore 集合更改时的颤动通知(背景)

当应用程序未打开时,当订阅的集合(firestore)发生更改时,如何通知用户?

我认为一旦集合(或集合中的文档)发生变化,也许应该使用 FCM 推送,但首先会调查替代路线。

提前致谢。

firebase google-cloud-platform flutter google-cloud-firestore

4
推荐指数
1
解决办法
3314
查看次数

使用 Firestore Cloud Functions 进行计数

我喜欢使用 firestore 云函数来计算子集合中的文档数量。

我的数据库如下所示: groups/{groupId}/members/{memberId}

我喜欢计算每个组的成员数量(memberId)。这意味着每个组可以有不同数量的成员,并且可以灵活地增加或减少。

我会对你的想法感到高兴:-)。

firebase google-cloud-platform google-cloud-functions google-cloud-firestore

4
推荐指数
1
解决办法
2278
查看次数

使用 JavaScript 在 Firebase 中获取孩子的 ChildrenCount

我已经这样做了一个小时。我只是想在下面的数据库中获取孩子“成功”中的孩子数量。类似的 stackoverflow 问题中的答案不起作用。我是 Javascript 编程的新手。

数据库 到目前为止,我已经尝试过这个

var children = firebase.database().ref('Success/').onWrite(event => {
	return event.data.ref.parent.once("value", (snapshot) => {
		const count = snapshot.numChildren();
console.log(count);

	})
})
Run Code Online (Sandbox Code Playgroud)

还有这个

var children = firebase.database().ref('Success/').onWrite(event => {
	return event.data.ref.parent.once("value", (snapshot) => {
		const count = snapshot.numChildren();
console.log(count);

	})
})
Run Code Online (Sandbox Code Playgroud)

我可能哪里出错了。

javascript firebase firebase-realtime-database google-cloud-functions

4
推荐指数
1
解决办法
2531
查看次数

云功能增量计数器,不读取文档

我想在不阅读文档的情况下增加或减少云函数中的数字。

我有一个项目文件,当文件更新时,它会检查数量。如果数量大于零,请增加商店配置文件项目计数。假设商店有10个可用商品,并且商品doc字段已从0更新为1库存,我需要将商店商品数增加到11。

我记得在Firebase博客上读到,有一个新功能允许这样做。但是我们如何在云功能中做到这一点呢?

firebase google-cloud-functions google-cloud-firestore

4
推荐指数
1
解决办法
1272
查看次数

是否可以通过 Firebase 托管托管使用 Firestore 的 Firebase Web 应用程序?

我正在使用 Firebase 开发 Android 应用程序。我还想创建它的网络版本。我应该将其托管在 Firebase Hosting 中还是需要单独的 Web 服务器?我想使用 Firestore 作为此 Web 版本的数据库。

firebase firebase-hosting

4
推荐指数
1
解决办法
1739
查看次数

FireStore:查询 Firebase Auth 表?

我正在使用 Firestore 构建一个应用程序,其中一群人需要能够访问一个对象,我按照https://firebase.google.com/docs/firestore/solutions/role-based-access上的指南进行操作。所以,我的对象看起来有点像这样:

{
  title: "A Great Story",
  content: "Once upon a time ...",
  members: {
    alice: "host",
    bob: "player",
    david: "player",
    jane: "player"
  }
}
Run Code Online (Sandbox Code Playgroud)

这些键members只是用户 UID,所以实际上它们当然看起来不太好:)

现在,这一切都工作正常,我可以查询当前登录用户所属的对象,所有规则都有效。但是,现在我想在我的应用程序中显示成员列表。如何在 Firebase Auth 系统中查询我的会员地图中的用户?

如果这是不可能的,那么解决这个问题的“正常”方法是什么?文档本身中有用户信息(姓名、电子邮件、个人资料图片)的副本吗?但是,如何处理用户更改自己的信息呢?那么该文档有陈旧的旧数据..

我来自传统的关系数据库世界,这是我使用 NoSQL 数据库/Firestore 的第一步,因此我不太清楚如何最好地构建我的用户数据并使其保持最新。

firebase google-cloud-platform google-cloud-firestore

4
推荐指数
1
解决办法
2191
查看次数

如何从firestore数据库中的云功能更新多个文档?

我是 firebase 云函数的新手,我想在集合更改特定文档的字段时更新集合username中某些文档的字段。我使用以下代码来做到这一点:postsusersusername

exports.updateProfileUsername = functions.firestore
  .document('users/{userId}')
  .onUpdate((change, context) => 
  {
    const {userId} = context.params;

    var newUsername = change.after.data().username;
    var previousUsername = change.before.data().username;

    if (newUsername.localeCompare(previousUsername) !== 0)
    {
      let postCollectionRef = db.collection('posts');
      let postQuery = postCollectionRef.where('userId', '==', `${userId}`);

      return new Promise((resolve, reject) => 
      {
        updateUsernameDocuments(postQuery, reject, newUsername);
      });
    }
  });

function updateUsernameDocuments(query, reject, newValue) 
  {
    query.get()
      .then((snapshot) => 
      {
        if (snapshot.size === 0) 
        {
          return 0;
        }

        return snapshot.docs.forEach((doc) =>
        {
          doc.ref.update({username : `${newValue}`});
        }); …
Run Code Online (Sandbox Code Playgroud)

node.js firebase google-cloud-functions google-cloud-firestore

4
推荐指数
1
解决办法
2525
查看次数

CLI问题:“以下函数在您的项目中找到,但在您的本地源代码中不存在” - 如何默认回答“否”?

每次部署一个功能时,我都会很烦恼需要回答这个问题:

以下函数在您的项目中找到,但在您的本地源代码中不存在

没有”。

我的功能结构如下。我有一个包含 Typescript 函数的文件夹,然后是另一个包含 Javascript 函数的文件夹。它们位于不同的文件夹中,因为我太笨了,无法让它在同一个文件夹中工作。

我最初使用 Firebase CLI 并分别选择 Typescript 和 Javascript 创建了这两个文件夹。

我知道该--force运算符,但我认为它会强制选择“是”,并且我不希望删除这些功能。

firebase google-cloud-platform firebase-tools google-cloud-functions

4
推荐指数
1
解决办法
3457
查看次数

firebase批量更新和onWrite触发同步

我在同步两个 Firebase 云函数时遇到问题,第一个函数对多个文档执行批量更新,第二个函数由onWrite其中一个文档的触发器触发。

为了便于说明,假设我有两个文档A和B(在两个单独的集合中)。

  • 第一个云功能更新文档A并B使用 firestore WriteBatch(两个文档均已成功更新);
  • 写入文档B会触发另一个云功能(带有onWrite触发器)。该功能需要读取文档A;
  • 我在第二个函数中出现错误,那是因为它读取了旧版本的文档A(在第一个函数进行批量写入之前)。

有没有办法确保只有在两个文档都写入后才onWrite触发该函数?

我可以单独更新它们,并在A写入第一个函数之前等待写入B,但我想将两者的更新保留在一个事务中,因为这些文档是链接的,并且我不想冒险在没有另一个的情况下更新一个文档。

firebase google-cloud-platform google-cloud-functions google-cloud-firestore

4
推荐指数
1
解决办法
940
查看次数