Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 云函数,用于从Firebase数据库中添加/删除已添加到Firebase存储或已从Firebase存储中删除的文件的url_Javascript_Firebase_Firebase Realtime Database_Firebase Storage_Google Cloud Functions - Fatal编程技术网

Javascript 云函数,用于从Firebase数据库中添加/删除已添加到Firebase存储或已从Firebase存储中删除的文件的url

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

我正在尝试在一个应用程序中实现一个功能,它将列出ListView中的所有文件名,单击特定的列表项将显示文件的内容。我不太懂JavaScript,对云函数也很陌生。我编写了一个小函数,每当文件添加到firebase存储时,它都会向firebase添加元数据,但即使文件被删除,它也会添加数据。 这是密码

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;
}