javascript中firestore中的orderBy()
我有一个消防仓库结构,像-javascript中firestore中的orderBy(),javascript,firebase,ecmascript-6,google-cloud-firestore,Javascript,Firebase,Ecmascript 6,Google Cloud Firestore,我有一个消防仓库结构,像- 选项板(集合)-->,…-->{colors:[…],createdAt:TIMESTAMP}(每个文档) 我想使用onSnapshot()监听器根据时间戳获取所有数据和顺序,并使用react hook将其存储到状态。 如何在下面的代码中使用orderBy查询 db.collection('palettes').onSnapshot(snapshot => { snapshot.docChanges().forEach(change => {
选项板(集合)-->,…-->{colors:[…],createdAt:TIMESTAMP}(每个文档)
我想使用onSnapshot()监听器根据时间戳获取所有数据和顺序,并使用react hook将其存储到状态。
如何在下面的代码中使用orderBy查询
db.collection('palettes').onSnapshot(snapshot => {
snapshot.docChanges().forEach(change => {
if (change.type === "added") {
setPalette( prevPalette => ([
{ id: change.doc.id, ...change.doc.data() },
...prevPalette
]))
}
})
})
看一看这张照片
你可以做:
db.collection('palettes').orderBy("createdAt", "desc").onSnapshot(snapshot => {
snapshot.docChanges().forEach(change => {
if (change.type === "added") {
setPalette( prevPalette => ([
{ id: change.doc.id, ...change.doc.data() },
...prevPalette
]))
}
})
})
或
取决于排序方向
db.collection('palettes').orderBy("createdAt").onSnapshot(snapshot => {
snapshot.docChanges().forEach(change => {
if (change.type === "added") {
setPalette( prevPalette => ([
{ id: change.doc.id, ...change.doc.data() },
...prevPalette
]))
}
})
})