Uncaught (in promise) FirebaseError: Invalid collection reference. Collection references must have an odd number of segments

Uncaught (in promise) FirebaseError: Invalid collection reference. Collection references must have an odd number of segments

我遇到了错误

    Uncaught (in promise) FirebaseError: Invalid collection reference. Collection references must have an odd number of segments, but 
Accounts/sKnjAQzJ1sQ5qRC4ki6b/RequestsReceived/m27vTB22izq6UixWP2s6 has 4.

我的密码是

var ref2 = collection(db, "Accounts/" + localStorage.getItem('Id') + "/RequestsReceived", id);
    const docRef2 = await getDoc(ref2);
    await deleteDoc (ref2);

我要删除的文档有 URL /Accounts/sKnjAQzJ1sQ5qRC4ki6b/RequestsReceived/m27vTB22izq6UixWP2s6

我了解到,如果您添加一个文档,它必须具有奇数个路径、集合名称或 collection/document/collection。但是 deleteDoc 不应该有一个偶数,因为我正在删除 collection/document 或 collection/document/collection/document。我做错了什么?

"Accounts/" + localStorage.getItem('Id') + "/RequestsReceived", id

此路径指向 'RequestsReceived' sub-collection 中的文档。所以你应该使用 doc() 创建一个 DocumentReference。

此外,只要有参考文献,删除前无需获取文档:

// ensure all values are defined
console.log(localStorage.getItem('Id'), id);

// use doc()
var ref2 = doc(db, "Accounts/" + localStorage.getItem('Id') + "/RequestsReceived", id);

await deleteDoc(ref2);