gpt4 book ai didi

node.js - 每当子创建云函数实时数据库时添加父子

转载 作者:太空宇宙 更新时间:2023-11-04 03:18:59 25 4
gpt4 key购买 nike

这里我有代码,只要添加的 child 会向 Android 设备发送通知,就会触发 ref /tugas_course/{course_id}/{tugas_id} 。它已经做得很好了。但我想在其中添加一个函数,我想在这个名为 flag_tugas 的引用之外添加子函数,并将用 flag_tugas-course_id-tugas_id-user.uid: "o" 填充。我不知道如何添加它,因为返回值已经全部包含在内以及如何在云函数中获取用户id。

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;

console.log(`New Message ${course_id} in ${tugas_id}`);

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"
}
};

console.log(`data yang dikirim `);
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);
})

});


}

实际上是在 eclassapp 下添加新的子项 enter image description here

非常感谢您的时间和回答..

最佳答案

我不确定您想要在 Node 树中的何处添加时间戳(在 /tugas_course/{course_id}/{tugas_id}/new_child 下或在 /tugas_course/{course_id}/{tugas_id} 下),但以下代码适用于在 /tugas_course/{course_id}/{tugas_id} 下添加 timestamp >。如果需要,您可以更改 ref 的值以将时间戳写入您想要的位置。

exports.onNotifTugas = functions.database
.ref('/tugas_course/{course_id}/{tugas_id}')
.onCreate((snapshot, context) => {
const ref = snapshot.ref;
const ts = admin.database.ServerValue.TIMESTAMP;
return ref.update({
date_time: ts
});
});
<小时/>

但请注意,您不需要云函数来从服务器添加时间戳,请参阅 https://firebase.google.com/docs/reference/js/firebase.database.ServerValue

所以在你的情况下你会做类似的事情:

var tugaRef = firebase.database().ref("/tugas_course/course_id/tugas_id");
tugaRef.push({
foo: bar, //Other data of your 'tugas' object
createdAt: firebase.database.ServerValue.TIMESTAMP
})

关于node.js - 每当子创建云函数实时数据库时添加父子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680622/

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