我使用的是RXFire和RXJS。
collectionData(firebase.firestore.collection('collectionname')).subscribe(x=>console.log(x)
返回
// [{document1}, {document2}]
我想要的是一个返回的可见光
// {document1}
// {document2}
我尝试过使用from((和toArray((的组合(即将可观察对象转换为普通数组,然后再转换回逐个发出每个文档的可观察对象(,但toArray(只创建了一个发出数组的可观察结果,而不是实际的数组。我需要一个与toArray((相反的操作。取一个发出数组的可观测对象,并将其转化为单独发出每个值的可观测。
我该怎么做?
编辑:
我还试着做一些类似的事情
const newObs = oldObs.subscribe(x => from(x))
但存储订阅者,而不是新的可观察对象=(
有多种方法可以做到这一点。例如:
collectionData(firebase.firestore.collection('collectionname'))
.pipe(
concatAll(),
)
.subscribe();
您也可以使用concatMap(array => array)
。
您也可以使用merge*
来代替concat*
。