javascript - 如何在云功能中获取 firebase 数据库数据?

标签 javascript ios firebase firebase-realtime-database google-cloud-functions

我正在使用 firebase 数据库来存储我的 iOS 应用程序数据。

enter image description here

我正在这个运行良好的应用程序中保存用户跟踪数据。

我必须使用保存在“IOS”字段中的推送 token 向用户 (userID = 57411405) 发送推送通知。

我正在使用的这个云函数:

此云功能运行良好。我能够跟踪保存新跟踪数据的事件。这是此云功能的日志:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

// Create and Deploy Your First Cloud Functions
// https://firebase.google.com/docs/functions/write-firebase-functions

exports.databasechanges = functions.database.ref('/users/{id}/LocationTracking').onWrite(event =>{

var eventSnapshot = event.data

console.log('UserId - ', event.params.id);

const userID = event.params.id
const root = event.data.ref.root

admin.database().ref('users/{id}/NotificationToken').on('value').then((snapshot) => {

  var token = snapshot.val().IOS;

  console.log('token',token)

  return snapshot.val();
}).catch(error => {
  console.error(error);
  res.error(500);
});

return eventSnapshot.val()

});

但是在云函数控制台上我收到了这个错误:

enter image description here 现在,我无法弄清楚如何访问此推送 token (IOS) 并使用云功能发送推送通知。

最佳答案

要获取字段“IOS”,试试这个:

//inside the trigger function
admin.database().ref('/users/'+event.params.id+'/NotificationToken/IOS').once('v‌​alue').then((snapshot) => { 
var token=snapshot.val().IOS;

 });

关于javascript - 如何在云功能中获取 firebase 数据库数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49229286/

相关文章:

ios - Swift - 如何在核心数据中存储 MGLMapView 以在 TableView 上显示它?

Swift Firebase 分页

javascript - 我在哪里使用 asp 母版页放置 javascript?

javascript - 在 Chrome 错误的沙盒文件系统中创建文件

android - 将 iframe 添加到 Appcelerator 应用程序

ios - 使用 RealmSearchViewController 搜索多个属性

javascript - 使用 requirejs 全局化和 cldr

javascript - 为什么我的超时要等到等待完成后,但我的日志却没有?

ios - 如何修复 faSTLane-plugin-firebase_app_distribution 未定义

android - 得到 child 的 child