从Firebase数据库填充Firebase Cloud Functions中的数组

时间:2017-12-04 20:25:15

标签: javascript firebase google-cloud-functions

我有一个触发onWrite()的函数,我成功加载了我想要的数据。我正在努力解决的问题是,稍后在该函数中我想加载一个包含存储在数据库中的标记的列表。

这是我到目前为止所做的。

const root = event.data.ref.root
const loadMembers = root.child(`groups/${nameOfGroup}/members`).once('value')
const users = loadMembers.then( snap => {
    const members = snap.val()

    // something like this
   // const members = user.child({id})
})

有办法吗?

数据存储方式如下。

{ ekXL3hQyBsNaYaPYudHRySahX5s2: 
   { emailAddress: 'notMyRealEmail123@gmail.com',
     firstName: 'user 1',
     token: 'token4life',
     lastName: '1 User',
     phoneNumber: '+1112222' },
  syRUK9NG11TSHYLMRWbxCFhf2eJ3: 
   { emailAddress: 'user2@gmail.cool',
     firstName: 'User 2',
     id: 'token2m8s',
     lastName: '2 User',
     phoneNumber: '+111111111' } 

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题你想要这样的事情:

const root = event.data.ref.root
const loadMembers = root.child(`groups/${nameOfGroup}/members`).once('value')
const users = loadMembers.then( snap => {
    const members = snap.val()
    console.log(members);

    snap.forEach(function(childSnap) {
        console.log(childSnap.val());

        var email = childSnap.child("emailAddress").val();
        var token = childSnap.child("token").val();

        console.log("Token: " + token);
    });
 })