Javascript 云函数,用于从Firebase数据库中添加/删除已添加到Firebase存储或已从Firebase存储中删除的文件的url
我正在尝试在一个应用程序中实现一个功能,它将列出ListView中的所有文件名,单击特定的列表项将显示文件的内容。我不太懂JavaScript,对云函数也很陌生。我编写了一个小函数,每当文件添加到firebase存储时,它都会向firebase添加元数据,但即使文件被删除,它也会添加数据。 这是密码Javascript 云函数,用于从Firebase数据库中添加/删除已添加到Firebase存储或已从Firebase存储中删除的文件的url,javascript,firebase,firebase-realtime-database,firebase-storage,google-cloud-functions,Javascript,Firebase,Firebase Realtime Database,Firebase Storage,Google Cloud Functions,我正在尝试在一个应用程序中实现一个功能,它将列出ListView中的所有文件名,单击特定的列表项将显示文件的内容。我不太懂JavaScript,对云函数也很陌生。我编写了一个小函数,每当文件添加到firebase存储时,它都会向firebase添加元数据,但即使文件被删除,它也会添加数据。 这是密码 const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.ini
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.urls = functions.storage.object().onChange( event => {
const file = event.data;
const metadata = file.metadata;
console.log(metadata);
return admin.database().ref("/").set(metadata); });
有人能告诉我,我可以在上面做些什么更改来添加URL而不是元数据,如果要删除文件,还可以删除相同的URL吗?来自Firebase文档部分: 事件属性的值为
“存在”
(用于对象创建和更新)或“不存在”
(用于对象删除和移动)
谢谢你,弗兰克。这解决了问题的主要部分。但我似乎找不到任何代码从firebase数据库中删除数据。有什么函数可以调用吗?我指的是云函数@Frank中的一个函数调用,这样我可以在
console.log之后从firebase数据库中删除我想要的内容(“这是一个删除事件”)代码>,而不是Android中的代码。如果你能告诉我类似的事情,我将非常感激。继续我之前的评论。使用return admin.database().ref(“/”)set(元数据)删除添加到数据库的方式代码>抱歉,在导航中单击错误:。不知何故,AdminSDK文档中缺少这一部分,但代码也可以在AdminSDK中使用。
// Exit if this is a move or deletion event.
if (resourceState === 'not_exists') {
console.log('This is a deletion event.');
return;
}