【发布时间】:2022-01-15 15:14:43
【问题描述】:
您好,我需要从我的 firestore db 中获取这样的项目列表
items={{
'2012-05-22': [{name: 'item 1 - any js object'}],
'2012-05-23': [{name: 'item 2 - any js object', height: 80}],
'2012-05-24': [],
'2012-05-25': [{name: 'item 3 - any js object'}, {name: 'any js object'}]
}}
所以这是我的代码,但不起作用
const getUserEvents = () => {
const FSquery = query( collection( FSdb, `usertasks/${user.uid}/events`) )
const unsubscribe = onSnapshot( FSquery, ( querySnapshot ) => {
// get all documents (using the date as id) from user's events collection
let eventData = {}
querySnapshot.forEach( (doc) => {
console.log("testing id", doc.id)
let arr = []
// the id of the document is the date for the event
eventData[ doc.id ] = arr
console.log("testing array", arr)
console.log("testing eventdata", eventData)
})
// now we get the collection of events for each day
let eventsOfTheDay = []
const eventKeys = Object.keys( eventData )
eventKeys.map( async (eventDate) => {
const events = await getDocs( FSdb, `users/${user.uid}/events/${eventDate}/items`)
events.forEach( (doc) => {
let event = doc.data()
event.id = doc.id
eventsOfTheDay.push( event )
})
eventData[ eventDate ] = eventsOfTheDay
console.log("this are the eventsoftheday", eventsOfTheDay)
})
// now we can set it into a state that can be passed to components to be consumed by the calendar
// eg setEvents( eventData )
})
}
我没有从 eventsoftheday 获得任何价值,甚至连 consloge 字符串“this is eventsoftheday”都没有 谢谢 我得到这个错误 [未处理的承诺拒绝:FirebaseError:预期类型'ba',但它是:自定义Oa对象]
【问题讨论】:
-
也许我在这里很笨,但是代码中的路径是
users/${user.uid}/events/${eventDate}/dayEvents,从控制台图像看起来路径是userTasks/${user.uid}/events/${eventDate}/items -
是的,你是对的,我改变了,但仍然无法正常工作。将编辑帖子以更改它。谢谢。我收到此错误 [未处理的承诺拒绝:FirebaseError:预期类型'ba',但它是:自定义 Oa 对象]
-
这听起来像是与写操作有关的错误。
标签: javascript firebase react-native google-cloud-firestore expo