我有以下代码,它们在我的/users
对象树中寻找特定的更新。
这工作正常,但似乎有点多余,因为我已经引用了想要的用户节点的子节点。
exports.onUserKeyHelloCreate = functions
.region('europe-west1')
.database
.ref('users/{userId}/hello')
.onCreate(async (snapshot, context) => {
const userId = context.params.userId
let userData = null
await database.ref(`users/${userId}`).once('value', (userSnapshot)=>{
userData = userSnapshot.val()
})
console.log('userData', userData)
是否有一种更优雅的方式来访问整个用户节点,而无需额外往返.once('value')
?
亲切的问候/ K
答案 0 :(得分:1)
如果您需要数据库的全部内容为“ users / $ {userId}”,那么现在要做的实际上就是唯一的方法。
尽管您不应真正将回调的使用与once()
返回的promise结合起来。仅仅使用诺言就足够了。
const snapshot = await database.ref(`users/${userId}`).once('value');
const userData = snapshot.val();
console.log('userData', userData)