Как мне просмотреть снимок в Firebase - PullRequest
0 голосов
/ 22 сентября 2019

Моя структура Firebase выглядит следующим образом:

enter image description here

Следующий код ищет текст, выбранный пользователем в окне выбора (2019/9 /7 AMS MK7777) и возвращает объект ulds

FBLoad: function(){
            console.log($(".text").text())              

            var ref = firebase.database().ref("flights");
            ref
            .orderByChild("queryDes")
            .equalTo($(".text").text())
            .once("child_added", function(snapshot) {
                console.log(snapshot.val().ulds);
            });
}

. Я хотел бы добиться того, чтобы данные объекта обновлялись данными из объекта ulds Объект, который долженбудет обновлено следующее:

var positions =  {
    "A": {h_arm:14645, "occupied":0, "ULD":"", "DEST":"", "CNTR":"", "WGHT":0, "TYPE":"", "SHC":[], "RMRK":""},
    "BR": {h_arm:16905,  "occupied":0, "ULD":"", "DEST":"", "CNTR":"", "WGHT":0, "TYPE":"", "SHC":[], "RMRK":""},
    "C": {h_arm:19165, "occupied":0, "ULD":"", "DEST":"", "CNTR":"", "WGHT":0, "TYPE":"", "SHC":[], "RMRK":""},
    "R": {h_arm:19165, "occupied":0, "ULD":"", "DEST":"", "CNTR":"", "WGHT":0, "TYPE":"", "SHC":[], "RMRK":""}
}

Окончательный результат должен быть следующим:

var positions =  {
    "A": {h_arm:14645, "occupied":0, "ULD":"", "DEST":"", "CNTR":"", "WGHT":0, "TYPE":"", "SHC":[], "RMRK":""},
    "BR": {h_arm:16905,  "occupied":0, "ULD":"PMC12345QR", "DEST":"DOH", "CNTR":"Q5", "WGHT":2500, "TYPE":"C", "SHC":["RFL","RCM"], "RMRK":"OHG75CMF"},
    "C": {h_arm:19165, "occupied":0, "ULD":"", "DEST":"", "CNTR":"", "WGHT":0, "TYPE":"", "SHC":[], "RMRK":""},
    "R": {h_arm:19165, "occupied":0, "ULD":"PMC77785QR", "DEST":"DOH", "CNTR":"Q5", "WGHT":3540, "TYPE":"C", "SHC":["PIL"], "RMRK":"IND75CMA"}
}

Я не могу найти способ перебрать ulds -объект

1 Ответ

2 голосов
/ 22 сентября 2019

Чтобы перебрать ulds, попробуйте следующее:

once("value", function(snapshot) {
 snapshot.forEach(function(childSnapshot){
   childSnapshot.forEach(function(uldSnapshot){
     uldSnapshot.forEach(function(nestedUldSnapshot){ 
       console.log(nestedUldSnapshot.val());

        });
      });

Сначала используйте событие value для извлечения данных, затем используйте forEach() для извлечения данных под случайными идентификаторами.Затем используйте другой forEach() для доступа к данным внутри объекта ulds.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...