使用变量存储“ change.doc”路径

时间:2019-10-24 13:33:26

标签: javascript google-cloud-firestore

我正在尝试使用变量作为Firestore文档路径:

        console.log(change.doc.data().m_1.name);   <----- This work well !

        a = 1;
        let me = change.doc.data().m_+a;    <----- But not that....
        console.log(me.name);

我该怎么做? 先感谢您 ! :)

3 个答案:

答案 0 :(得分:3)

使用动态属性时,应使用方括号。

let me = change.doc.data()['m_' + a];

答案 1 :(得分:3)

我认为您想将键的名称构建为它自己的变量,并使用它来索引对象。

const a = 1;
const key = "m_" + a;
const me = change.doc.data()[key];

答案 2 :(得分:1)

在示例中使用a变量时,您要让JS将数字1添加到函数输出中。这不是正确的方法。您想使用一个键来访问data()函数返回的数据,如下所示。

change = {
doc: {
    data: function() {
      return {
        m_1: {
          name: "Mario",
          occupation: "plumber",
          siblings: 1,
          age: 24
        },
        m_2: {
          name: "Mike",
          occupation: "developer",
          siblings: 3,
          age: "28"
        }
      }
    }
  }
}

console.log("Old way:" + change.doc.data().m_1.name);

const a = 1;
let me = change.doc.data()['m_' + a];
console.log("Desired way: " + me.name)

我假设从您的问题中得出了一个简单的数据结构,但是我不确定这就是您所得到的。但看起来可能有点像。

编辑 awww ....页面没有刷新,我没有看到两个最初的答案:(嗯...至少我们同意