0

火力数据库

我尝试使用以下方法从用户 id (-m3Jh...) 的事务中检索数据。

computed: {
    getData() {
        let db = ref.child('transactions/m3JhsTazwgX9AXeYKxYdisSXDob2')
        .on('value', snapshot => {
            snapshot.forEach(s => {
                var arr = s.val()
                console.log(arr)
                console.log(arr[0].title)
            })
        })
    }
}

在控制台中,这会为每个键生成一个对象数组。

在此处输入图像描述

当我尝试 console.log arr[0] 时,我只想检索每个键(-kx ...)内的所有数据,这导致每个键内的所有 0 对象都不是我想要的。我只想检索特定键内的所有数据,或者可能是最新的键,如 -Kx8h-vJsVtPRekuU8jt 这应该导致 0、1、2、3 内的所有数据。我想要实现的只是一个简单的账单,显示用户订购的所有信息。使用 vuefire 更容易吗?

4

1 回答 1

0

您可以使用map将对象映射到值数组。简单的例子。第二个保留新数组中的键。

const person = {eyes: {color : 'blue', count: 2},
               feet: { size: 'medium', count: 2},
               hands: { size: 'big', count: 1}};

let oldPerson = Object.keys(person).map(key => person[key]);

let newPerson = Object.assign(...Object.keys(person).map(k => ({[k]: person[k]})));

const person = {eyes: {color : 'blue', count: 2},
               feet: { size: 'medium', count: 2},
               hands: { size: 'big', count: 1}};

let oldPerson = Object.keys(person).map(key => person[key]);

let newPerson = Object.assign(...Object.keys(person).map(k => ({[k]: person[k]})));

console.log(oldPerson);
console.log(newPerson);

于 2017-10-23T19:01:06.407 回答