gpt4 book ai didi

javascript - 在 Google Cloud Functions for Firebase 中对排序数据进行 Firebase 查询

转载 作者:行者123 更新时间:2023-12-03 02:47:05 25 4
gpt4 key购买 nike

如何在 Firebase 函数内查询来自 Firebase 的排序数据?例如:

exports.readStore = functions.database.ref('/categories/{userId}')
.onWrite(event => {
admin.database().ref(`categories/${event.params.userId}`).orderByChild('name').on('child_added', (snapshot) => {
console.log('snapshot', snapshot.val());
});
return admin.database().ref(`read/${event.params.userId}`).child('sortOrder').set({1: 2});
});

鉴于查询中的 promise 在函数返回之前将/可能不会得到解析,这是否是有效的语法?

最佳答案

Cloud Functions 中的技巧是使用 once('value'),它可以一次为您提供所有匹配的节点。

exports.readStore = functions.database.ref('/categories/{userId}')
.onWrite(event => {
let query = admin.database().ref(`categories/${event.params.userId}`).orderByChild('name');
return query.once('value', (snapshot) => {
snapshot.forEach((child) => {
console.log('child', child.val());
});
// TODO: use the result determined above
return admin.database().ref(`read/${event.params.userId}`).child('sortOrder').set({1: 2});
});
});

使用 snapshot.forEach() 确保按照您请求的顺序循环遍历子节点。

我不完全确定您想在 set() 中执行什么操作,因此您需要适应您的需求。

关于javascript - 在 Google Cloud Functions for Firebase 中对排序数据进行 Firebase 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48054745/

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