我正在使用Firebase开发应用程序。基本上,我的数据库是以这种方式构造的。有一个名为“帖子”的节点,其中包含所有帖子的子级。我想获得我的帖子,按他们的投票对其进行排序,并在Firebase中创建一个名为“图表”的新节点,其中包含地图中最好的50个视频。 我尝试在Typescript中开发云函数,但是它不起作用。
首先,当我尝试使用firebase.database部署它时,它说“找不到firebase”。如果我使用admin.firebase,它将正确部署,但实际上没有任何作用。
// The Cloud Functions for Firebase SDK to create Cloud Functions and setup triggers.
import * as functions from 'firebase-functions';
// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require ('firebase-admin');
admin.initializeApp(functions.config().firebase);
let map = new Map();
exports.updatePosts = firebase.database().ref("/Posts/Vl8J4kQk6dOXGxVbzgvCxir4MYW2").onUpdate((change,event) => {
const query = admin.database().ref("Posts/Vl8J4kQk6dOXGxVbzgvCxir4MYW2");
query.once('value').then((snapshot) => {
snapshot.forEach(child => {
let postID = child.key;
let upvotes = child.nUpvotes;
map.set(postID,upvotes);
});
});
return admin.database().ref("Charts").set(map);
});