gpt4 book ai didi

javascript - Firebase 云功能

转载 作者:行者123 更新时间:2023-12-01 00:05:57 25 4
gpt4 key购买 nike

我正在使用 Firebase 云功能从另一个文档创建新文档

基本上,我在文档中有一个名为 reps {} 的字段,它将 userId 作为键,将 int 作为值

我想检查次数{}中的总和是否大于 100(示例)。

我有一个 onUpdate 函数,可以完美运行,但我需要添加此功能。我试过这个:

var count = 0;
admin.firestore()
.collection("posts")
.doc(userId)
.collection("userPosts")
.doc(postId).get().then(doc =>
{
doc['reps'].values.forEach(val =>
{
count += val;
});
});

console.log(count);

通过此查询,我得到代表 map ,如何计算所有值的总和 map 内:

admin
.firestore()
.collection("posts")
.doc(userId)
.collection("userPosts")
.doc(postId).get().then(function (doc)
{
if (doc.exists)
{
console.log(doc.get("reps"));
}
});

最佳答案

通过做

admin.firestore()
.collection("posts")
.doc(userId)
.collection("userPosts")
.doc(postId).get()

您正在查询一份文档,get()方法返回一个 Promise,该 Promise 解析为 DocumentSnapshot .

因此,做

doc['reps'].values

不会工作。

您需要使用 DocumentSnapshot 的 get()方法如下:

admin.firestore()
.collection("posts")
.doc(userId)
.collection("userPosts")
.doc(postId).get().then(doc =>
{
var respObj = doc.get('reps');
Object.entries(respObj).forEach(([key, value]) => {
count += value;
});
});

关于javascript - Firebase 云功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60395761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com