Привет! Я пытаюсь получить доступ к вложенным данным в базе данных реального времени Firebase с помощью облачных функций, мои данные выглядят так:
{
"RANGE1": {
"left": 2,
"overlayImage": "",
"right": 1,
"submittedInfo": {
"left_1": {
"TimeStamp": "2020-02-16 19:05:35",
"horozontalAccuracy": 10,
"latitude": 0000,
"longitude": 0000
},
"left_2": {
"TimeStamp": "2020-02-16 19:23:59",
"horozontalAccuracy": 10,
"latitude": 0000,
"longitude": 0000
},
"left_3": {
"TimeStamp": "2020-02-20 19:35:28",
"horozontalAccuracy": 10,
"latitude": 0000,
"longitude": 0000
},
"right_1": {
"TimeStamp": "2020-02-16 19:08:30",
"horozontalAccuracy": 10,
"latitude": 0000,
"longitude": 0000
}
}
},
"RANGE2": {
"left": 1,
"overlayImage": "",
"right": 1,
"submittedInfo": {
"left_1": {
"TimeStamp": "2020-02-12 22:07:11",
"horozontalAccuracy": 5,
"latitude": 0000,
"longitude": 0000
},
"right_1": {
"TimeStamp": "2020-02-12 22:36:36",
"horozontalAccuracy": 11.721012922544011,
"latitude": 0000,
"longitude": 0000
}
}
}
}
, и у меня есть функция, которая должна фильтровать и выравнивать эти данные. Но я не могу понять, как проникнуть в узлы. все, что я пытаюсь сделать, кажется, я застреваю при доступе к [объекту объекта] или typeof () возвращает строку, когда она должна быть JSON объект все еще
admin.database().ref(".../range").once('value').then((snapshot) => {
var flagInfo = [];
snapshot.forEach((range) => {
console.log("range is : " + range) // [object Object]
console.log("range[submitted] " + range['submittedInfo']) // undefined???
// what I need to do is something like:
range["submittedInfo"].forEach((flagData) => {
console.log(flagData.key)
console.log(flagData["latitude"]) // and so on for the rest of the keys
}) // end
})