如何在firebase上的云函数中的单个请求中读取多个用户id的数据
How to read data of multiple user id in a single request in cloud functions on firebase
我正在为我的 Android 应用程序和云功能使用 Firebase 数据库。由于 Firebase 以 JSON 格式存储数据。每个用户都有一些分配给用户的唯一 ID。
我想知道是否有任何方法可以在单个请求中获取多个用户数据。如果您看到下面的代码,它将仅获取传递的用户 ID 的数据。
db
.ref("/users/" + request.query.userId)
.once("value")
.then(function(snapshot) {
我有 10 个用户 ID,我想在 nodejs 中通过单个请求获取其中的数据。有什么办法得到这个?
将它们存储在这样的数组中:
var promArr = []
var snapshotData = []
promArr.push(
db
.ref("/users/" + request.query.userId) //put here unique usernames
.once("value")
.then(function(snapshot) {
snapshotData.push(snapshot.val())
})
return Promise.all(promArr).then(snap => {
//loop through snapshotData here
})
这可以写得更简洁:
const records = [
admin.database().ref(`users/${userId1}`).once('value'),
admin.database().ref(`users/${userId2}`).once('value'),
];
return Promise.all(records).then(snapshots => {
const record1 = snapshots[0].val();
const record2 = snapshots[1].val();
});
我正在为我的 Android 应用程序和云功能使用 Firebase 数据库。由于 Firebase 以 JSON 格式存储数据。每个用户都有一些分配给用户的唯一 ID。
我想知道是否有任何方法可以在单个请求中获取多个用户数据。如果您看到下面的代码,它将仅获取传递的用户 ID 的数据。
db
.ref("/users/" + request.query.userId)
.once("value")
.then(function(snapshot) {
我有 10 个用户 ID,我想在 nodejs 中通过单个请求获取其中的数据。有什么办法得到这个?
将它们存储在这样的数组中:
var promArr = []
var snapshotData = []
promArr.push(
db
.ref("/users/" + request.query.userId) //put here unique usernames
.once("value")
.then(function(snapshot) {
snapshotData.push(snapshot.val())
})
return Promise.all(promArr).then(snap => {
//loop through snapshotData here
})
这可以写得更简洁:
const records = [
admin.database().ref(`users/${userId1}`).once('value'),
admin.database().ref(`users/${userId2}`).once('value'),
];
return Promise.all(records).then(snapshots => {
const record1 = snapshots[0].val();
const record2 = snapshots[1].val();
});