Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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
如何重命名Firebase存储和数据库中的密钥_Firebase_Firebase Realtime Database_Firebase Storage - Fatal编程技术网

如何重命名Firebase存储和数据库中的密钥

如何重命名Firebase存储和数据库中的密钥,firebase,firebase-realtime-database,firebase-storage,Firebase,Firebase Realtime Database,Firebase Storage,我使用Firebase存储上传一些照片,如1、2、3等。然后我使用Firebase数据库以相同的方式保存这些照片的下载URL。我在想,一旦我删除了中间的一个图像,我应该如何处理这些文件。例如,假设我删除了图像2,有7个图像。我应该如何重命名3,4,5,6,7的键,并使其成为2,3,4,5,6 RTD的Firebase功能onDelete 不允许用户在存储器中删除,但允许他们删除RTD中的引用。然后函数将负责后端逻辑 请确保您的数据结构正确,这听起来像一个数组,您应该允许使用按键,而不是使用地图。

我使用Firebase存储上传一些照片,如1、2、3等。然后我使用Firebase数据库以相同的方式保存这些照片的下载URL。我在想,一旦我删除了中间的一个图像,我应该如何处理这些文件。例如,假设我删除了图像2,有7个图像。我应该如何重命名3,4,5,6,7的键,并使其成为2,3,4,5,6

RTD的Firebase功能onDelete

不允许用户在存储器中删除,但允许他们删除RTD中的引用。然后函数将负责后端逻辑


请确保您的数据结构正确,这听起来像一个数组,您应该允许使用按键,而不是使用地图。最好的建议是不要使用这样的序列号,因为它们的比例不太好。你现在的问题是它的众多问题之一。有关更多信息,请参阅

推荐的方法是使用Firebase数据库推送ID来命名/标识文件。您可以使用ref.push.key或ref.push.getKey轻松获得此信息。这些ID总是递增的,但不是连续的。虽然可读性稍差,但它们的扩展性更好,可以在脱机时生成,并且在删除文件/节点时不必重新生成其他ID


在这里也可以看到迈克的回答:

谢谢你,弗兰克。我以后应该如何对这些生成的Id进行排序?有没有一种方法可以对它们进行排序?推送ID的优点之一是,当您按字典顺序对它们进行排序时,它们也会按时间顺序进行排序。