【问题标题】:Access Firebase unique ID访问 Firebase 唯一 ID
【发布时间】:2017-12-23 03:51:45
【问题描述】:

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

这是我的功能:

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

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

【问题讨论】:

  • 应该是 snapshot 中的密钥的其他访问者 ...类似于 snapshot.keysnapshot.ref.key

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


【解决方案1】:

您的对象注释中没有名为 key 的属性,为了获取密钥,您可以使用 Object.keys

演示

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

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

【讨论】:

    猜你喜欢
    • 2021-12-09
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    相关资源
    最近更新 更多