云功能和Firestore:遍历document.data

时间:2018-08-21 13:31:01

标签: node.js firebase google-cloud-firestore google-cloud-functions

数据库结构如下:

User {id}
    Settings (Collection)
        device_uids(document)
            {device_uid_1}: Boolean
            (...)
            {device_uid_n}: Boolean

我想获取该文档并访问该文档中的所有device_uid。 我尝试过这样,但是控制台记录未定义forEach

const settings_ref = admin.firestore().collection('User').doc(uid).collection('Settings').doc('device_uids');
    settings_ref.get()
    .then(snap =>{
        let uids = snap.data();


        uids.array.forEach(element => {
            let device = element.key;
            if(device != device_uid){
               //GO ON
            }
        });

    })

如何分别访问值?

1 个答案:

答案 0 :(得分:1)

您的文档中没有名为array的字段,因此uids.array将始终是未定义的。如果只想迭代文档的所有属性,就像迭代普通的旧JavaScript对象的所有属性一样:

const data = snap.data();
for (const key in data) {
    const value = data[key];
    // now key and value are the property name and value
}