Как получить ключ дочернего значения с помощью облачных функций для Firebase? - PullRequest
0 голосов
/ 15 октября 2018

У меня есть код, который срабатывает при добавлении user_course

export const writePesertaMatkul = functions.database
.ref('/user_course/{user_uid}/') // query child yg dipantau
.onCreate((snapsot, context) => {   // on create trigered
    const user_uid = context.params.user_uid;
    const matkulData = snapsot.val(); //dataSnapshot

    });

Значение журнала { courses_5: 'PEMROGRAMAN GUI' } отлично работает, но здесь есть одна проблема.Я просто хочу хранить courses_5.Как этого добиться?

РЕШЕНИЕ

export const writePesertaMatkul = functions.database
.ref('/user_course/{user_uid}/{matkul_id}') // query child yg dipantau
.onCreate((snapsot, context) => {   // on create trigered
    const user_uid = context.params.user_uid;
    const matkulData = snapsot.val(); //dataSnapshot
    const matkulID = context.params.matkul_id;


    // const matkulKey = snapsot.key;
    console.log("keynya :", snapsot.key);
    console.log("uidnya  :", user_uid);


    const updates = {}; 
    updates[snapsot.key + "/" + user_uid] = "true";

    return admin.database().ref('/course_peserta/').update(updates);;
    });

используйте этот код для получения родителя snapsot.key

1 Ответ

0 голосов
/ 15 октября 2018

Просто используйте свойство key объекта DataSnapshot, см. https://firebase.google.com/docs/reference/node/firebase.database.DataSnapshot#key

Так что

const matkulKey = snapsot.key;

должно помочь.

(Обратите внимание, что вы используете имя переменной snapsot в своем коде, а не snapshot)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...