访问Firebase唯一ID

时间:2017-12-23 03:51:45

标签: javascript node.js firebase-realtime-database google-cloud-functions

我使用push将评论表单数据写入firebase实时数据库。我有一个函数正在观察onWrite事件以捕获发布的评论。

这是我的功能:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp(functions.config().firebase);

exports.newComment = functions.database.ref('{postRef}')
  .onWrite(event => {
    console.log("Started!");
    return theComment(event.data);
  });

function theComment(snapshot) {
  console.log("Running theComment");
  var comment = snapshot._delta;
  console.log(comment);
}

返回的树是:

{ '-L10TQfRr9IFhOsd1nJe': 
   { md5Email: '93942e96f5acd83e2e047ad8fe03114d',
     message: 'This is a test post.',
     moderated: false,
     name: 'demo',
     postedAt: 1514000728416 } 
}

我读过key值会在v3中返回ID,但是当我尝试记录comment.key时,它会记录undefined

有没有更好的方法来观看和访问新元素?

1 个答案:

答案 0 :(得分:0)

你没有在对象注释中拥有属性命名键,为了获得键,你可以使用Object.keys

<强>样本

var comment = { '-L10TQfRr9IFhOsd1nJe': 
   { md5Email: '93942e96f5acd83e2e047ad8fe03114d',
     message: 'This is a test post.',
     moderated: false,
     name: 'demo',
     postedAt: 1514000728416 } 
};

console.log(Object.keys(comment));;