我有一个存储消息的chat集合。每条消息都附加了一个userUid。我要完成的是以下几点:
chat集合以获取每个消息的数组subscribe,它现在提供原始消息数组以及添加的信息。下面是我目前正在使用的代码片段:
const chatRef = db.collection('chat')
const messageUser$ = collectionData(chatRef, 'id')
.pipe(
switchMap(messages => {
return forkJoin(...messages.map(m => {
const userRef = db.collection('users').doc(m.userUid)
return docData(userRef)
.pipe(
map(user => ({ ...user, ...m }))
)
}))
})
)
messageUser$.subscribe(data => console.log('data', data))我与一位朋友合作,想出以下两种工作解决方案,但当为我的应用程序配置时,两者都不起作用。
发布于 2020-04-29 06:09:02
明白了!
collectionData(db.collection('chat'))
.pipe(
switchMap(messages =>
combineLatest(
messages.map(m =>
docData(db.collection('users').doc(m.userUid)).pipe(
map(user => ({ ...user, ...m }))
)
)
)
)
)
.subscribe(enhancedMessages => console.log(enhancedMessages))https://stackoverflow.com/questions/61492280
复制相似问题