【发布时间】:2023-03-09 06:35:02
【问题描述】:
我有firebase实时数据库,它有用户节点并包含许多用户我想将用户的rating属性设置为0,首先我需要读取数据库并更新数据库。
我的函数正在读取数据但无法更新并在浏览器上返回{}
exports.quarter = functions.https.onRequest((req, res) => {
let user1 = admin.database().ref('users/user1/userDetails').once('value');
let user2 = admin.database().ref('users/user2/userDetails').once('value');
let user3 = admin.database().ref('users/user3/userDetails').once('value');
let user4 = admin.database().ref('users/user4/userDetails').once('value');
Promise.all([user1, user2, user3, user4])
.then(result => {
let data = {};
result[0].forEach(action => {
data['users/user1/userDetails/' + action.key + '/' + 'Rating'] = 0;
});
result[1].forEach(action => {
data['users/user2/userDetails/' + action.key + '/' + 'Rating'] = 0;
});
result[2].forEach(action => {
data['users/user3/userDetails/' + action.key + '/' + 'Rating'] = 0;
});
result[3].forEach(action => {
data['users/user4/userDetails/' + action.key + '/' + 'Rating'] = 0;
});
return data;
}).then(data => {
console.log(data);
return admin.database().ref().update(data);
}).then(data => {
return res.send('done');
}).catch(error => {
return res.status(500).send(error);
})
});
我可以看到console.log(data) 的结果,但函数没有更新,最后在执行get 请求后返回{}。
这有什么问题?
【问题讨论】:
标签: javascript firebase firebase-realtime-database google-cloud-functions