создание новой записи всегда пусто - PullRequest
0 голосов
/ 27 апреля 2018

Я использую firebase 4.12.0 и пытаюсь получить значение объекта database.Reference.

Я делаю следующее:

    var ref = new Firebase(FBURL + 'collaboration_songs');
    var newCollab = ref.push();
    newCollab.set({songs: {}});
    var id = newCollab.key();
    console.log("added record with id " + id);
    ref.child(id).once("value").then(function(data){
      var val = data.val();
      console.log(val, ' why is this null');
    });

Я знаю, что он создал ключ, потому что у меня есть зарегистрированный ключ, и он выглядит законным. Данные я не могу прочитать. Пожалуйста помоги.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы ничего не читаете, потому что на самом деле ничего не пишете. С этим битом кода:

newCollab.set({songs: {}});

Сервер ничего не пишет, потому что нет никаких значений за любым из ключей. Если ключ не имеет значений, он просто не существует в базе данных реального времени. Пустой объект, например, передаваемый вами, не имеет ключей или значений. Кроме того, генерируемый случайный push-идентификатор фактически генерируется на клиенте, на сервере, поэтому, даже если он выглядит «законным», это не означает, что сервер что-то сделал.

Почему бы вам не попробовать вместо этого написать фактическое значение?

newCollab.set({songs: "an actual value"});

Кроме того, вы должны проверить значение в консоли Firebase, чтобы убедиться, что оно действительно записало то, что вы ожидали.

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