Javascript 未处理的拒绝(FirebaseError)函数DocumentSnapshot.get()需要1到2个参数,但调用时使用了0个参数

Javascript 未处理的拒绝(FirebaseError)函数DocumentSnapshot.get()需要1到2个参数,但调用时使用了0个参数,javascript,reactjs,firebase,google-cloud-firestore,Javascript,Reactjs,Firebase,Google Cloud Firestore,我正在尝试从Firebase数据库获取事件,但我不知道为什么会出现此错误: Unhandled Rejection (FirebaseError): Function DocumentSnapshot.get() requires between 1 and 2 arguments, but was called with 0 arguments. 我在其他组件中使用了非常类似的方法,当时一切都是正确的 const getEvents = async () => { c

我正在尝试从Firebase数据库获取事件,但我不知道为什么会出现此错误:

Unhandled Rejection (FirebaseError): Function DocumentSnapshot.get() requires between 1 and 2 arguments, but was called with 0 arguments.
我在其他组件中使用了非常类似的方法,当时一切都是正确的

 const getEvents = async () => {
        const ref = await firebase.firestore().collection('uzytkownik').doc(selectedUser);

        firebase.firestore().collection('wydarzenie')
            .where("uczestnicy", "array-contains", ref).get()
            .then(async resp => {
                console.log(resp)
                const new_array = await Promise.all(resp.docs.map(event => {
                    console.log(event)
                    return event.get().then(resp => {
                        let new_event = {
                            ...resp.data(),
                            id: resp.id
                        }
                        return new_event;
                    })
                }))
                console.log(new_array)
                setUserEvents(new_array)
            })
    }
响应:

活动:

据我所知,您正在寻找:

const ref = await firebase.firestore().collection('uzytkownik').doc(selectedUser);

firebase.firestore().collection('wydarzenie')
    .where("uczestnicy", "array-contains", ref).get()
    .then(async snapshot => {
        const new_array = snapshot.docs.map(doc => {
                return {
                    ...doc.data(),
                    id: doc.id
                }
            })
        }))
        console.log(new_array)
        setUserEvents(new_array)
    })

最后,
console.log(新数组)
将记录与查询匹配的所有文档的数据和ID。

我完全不明白您为什么要调用
event.get()
。如果查询中已有文档,则无需再次获取。
resp.docs
是引用数组,因此
event
是referenceNo,不是。数组为DocumentSnapshot,包含实际的文档内容。这就是错误消息试图告诉你的。但事实并非如此
resp
是一个查询快照。我建议您阅读QuerySnapshot的API文档—您将看到它的
docs
属性是QueryDocumentSnapshot的数组,它本质上与DocumentSnapshot相同。重新获取每个文档真的没有意义。您已经拥有的快照中的数据没有问题。只需在每个
事件上调用data(),即可获得包含字段数据的对象。您应该查看文档中的查询示例。