我想获取这个孩子的钥匙,但是它返回null以及如何将{users_uid}存储到const或变量中? 我不知道这是怎么了。
const uid_tugas = admin.database().ref('/user_course/{users_uid}/' + course_id);
if (uid_tugas != null){
uid_tugas.once('value').then(snap6 =>{
const uid_tugas_val = snap6.val();
console.log(`value uidnya`+ uid_tugas_val.course_id);
}).catch(error =>{
console.log(error);
})
}
else{
console.log(`tidak ada`);
}
这是我的全部功能代码
export const onNotifTugas = functions.database.ref('/tugas_course/{course_id}/{tugas_id}')
.onCreate((snapshot, context) =>{
const course_id = context.params.course_id;
const tugas_id = context.params.tugas_id;
const authVar = context.auth;
const timestamp = context.timestamp;
const messageID = context.params.messageID;
console.log(`MID ${messageID} in ${timestamp}`);
return admin.database().ref('/tugas/' + tugas_id +'/').once('value').then(snap => {
const tugasData = snap.val();
const notifDataSend = { // buat structure data json dgn nama const notifDataSend untul cloud messaging
data: {
data_type: "tugas",
title: "Anda mendapatkan notifikasi baru..", // data bebas (key, value)
body: `Tugas ${tugasData.nama_tugas} baru`, // chatId = const chatId
sound: "default"
}
};
const uid_tugas = admin.database().ref('/user_course/{users_uid}/' + course_id);
if (uid_tugas != null){
uid_tugas.once('value').then(snap6 =>{
const uid_tugas_val = snap6.val();
console.log(`value uidnya`+ uid_tugas_val.course_id);
}).catch(error =>{
console.log(error);
})
}
else{
console.log(`tidak ada`);
}
return admin.messaging().sendToTopic(course_id, notifDataSend)
.then(function(response) {
console.log("Successfully sent message:", response);
})
.catch(function(error) {
console.log("Error sending message:", error);
});
}).catch(error => {
console.log(error);
})
答案 0 :(得分:0)
假设authVar
是您的身份验证参考,则您的uid
将是authVar.uid
。然后,您可以像这样编写uid_tugas
作业:
const users_uid = authVar.uid;
const uid_tugas = admin.database().ref('/user_course/' + users_uid + '/' + course_id)
您可以查看文档here。