【发布时间】:2022-01-05 02:59:27
【问题描述】:
我正在使用 Firebase 函数在删除 Firestore 项目时删除文件,每个 Firestore 条目有 2 个文件:image.jpg 和 image_thumb.jpg
我正在尝试使用存储桶前缀删除这两个文件,但是找不到文件,我尝试在删除它们之前使用 getFiles 方法查看项目,但这也不会返回任何结果。
const bucket = admin.storage().bucket()
const not_working = await bucket.getFiles({prefix: `photos/${userId}/${photoId}`})
const not_working = await bucket.deleteFiles({prefix: `photos/${userId}/${photoId}`})
如果我删除 ${photoId} 引用并仅查找文件夹,我会得到正确的结果
const bucket = admin.storage().bucket()
const working = await bucket.getFiles({prefix: `photos/${userId}/`})
这会返回以下数据
[
> [
> File {
> _events: [Object: null prototype] {},
> _eventsCount: 0,
> _maxListeners: undefined,
> metadata: [Object],
> baseUrl: '/o',
> parent: [Bucket],
> id: 'photos%2FkLxGzah8zc7Vbrl0c3iLic8tkqH2%2Fcad2ce98-dfa7-4611-9a88-913328ab4590.png',
> createMethod: undefined,
> methods: [Object],
> interceptors: [],
> pollIntervalMs: undefined,
> create: undefined,
> bucket: [Bucket],
> storage: [Storage],
> kmsKeyName: undefined,
> userProject: undefined,
> name: 'photos/kLxGzah8zc7Vbrl0c3iLic8tkqH2/cad2ce98-dfa7-4611-9a88-913328ab4590.png',
> acl: [Acl],
> instanceRetryValue: true,
> instancePreconditionOpts: undefined,
> [Symbol(kCapture)]: false
> },
> File {
> _events: [Object: null prototype] {},
> _eventsCount: 0,
> _maxListeners: undefined,
> metadata: [Object],
> baseUrl: '/o',
> parent: [Bucket],
> id: 'photos%2FkLxGzah8zc7Vbrl0c3iLic8tkqH2%2Fcad2ce98-dfa7-4611-9a88-913328ab4590_thumb.png',
> createMethod: undefined,
> methods: [Object],
> interceptors: [],
> pollIntervalMs: undefined,
> create: undefined,
> bucket: [Bucket],
> storage: [Storage],
> kmsKeyName: undefined,
> userProject: undefined,
> name: 'photos/kLxGzah8zc7Vbrl0c3iLic8tkqH2/cad2ce98-dfa7-4611-9a88-913328ab4590_thumb.png',
> acl: [Acl],
> instanceRetryValue: true,
> instancePreconditionOpts: undefined,
> [Symbol(kCapture)]: false
> }
> ]
> ]
【问题讨论】:
标签: javascript firebase google-cloud-firestore google-cloud-functions google-cloud-storage