Как получить идентификатор нового сообщения, которое было добавлено в Firebase с помощью `push`?

Я пытаюсь создать одинаковую / непохожую систему голосования для поста. Сначала я использую .push отправить текстовый ввод в Firebase:

$('.btn').click(function(){
  var post = $('.status-box').val();
  var id = snapdata;
  ref.child("post").push({user: id, text: post});
  $('.status-box').val('');
});

Для каждого "лайка", который я хочу добавить в уже существующее сообщение, проблема в том, что я не знаю, как получить доступ к идентификатору. .push генерирует для каждого поста.

2 ответа

Как уже сказал Дэн, методы push возвращают ссылку на новый узел. Оттуда вы можете легко получить ключ:

var newPost = ref.child("post").push({user: id, text: post});
console.log('The new post is under key: ', newPost.key());

Призвание .push возвратит ссылку Firebase на данные, которые вы ему передали.

Возвращаемое значение

Firebase
Ссылка Firebase для сгенерированного местоположения.

https://www.firebase.com/docs/web/api/firebase/push.html

Таким образом, в теории вам не нужно генерировать идентификатор, потому что у вас есть ссылка, на которую он указал.

Другие вопросы по тегам