繁体   English   中英

如何检索Firebase推键?

[英]How to retrieve Firebase pushed key?

我有一个事件要存储在数据库中。 它存储为

events
   my_party123
     info
       -KZbdiR_PBrAwxYvUR4U
         name: 'John'
         city: 'Los Angeles'
   my_party124
      ...

但是,我正在尝试检索此信息,但我不太了解。

我试过了

ref
  .child('events')
  .child('my_party123') // I also tried .push('my_party123')
  .once('value')
  .then(snapshot => {
    console.log(snapshot.key) // my_party123
    console.log(snapshot.val().info) 
    // this shows object with
    // "-KZbdiR_PBrAwxYvUR4U" property, this is the pushed key property  
    im trying to access
   })

.pushed正在创建新密钥-如何访问存储在数据库中的值?

如果您希望具有指向事件的唯一事件URL,建议将数据结构更改为以下形式:

events
  -KZ123PUSHID
    name: 'John'
    location: 'Los Angeles'
  -KZ124PUSHID
    name: 'Morgan'
    location: 'New York City'
eventNames
  my_party_123: '-KZ123PUSHID'
  sweet_nyc_part: '-KZ124PUSHID'

然后,在您的代码中,您可以执行以下操作:

var eventNamesRef = firebase.database().ref('eventNames');
var eventsRef = firebase.database().ref('events');

var event;    
eventNamesRef.child(nameFromUrl).once('value').then(nameSnap => {
  eventsRef.child(nameSnap.val()).on('value', eventSnap => {
    event = eventSnap.val();
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM