【发布时间】:2018-02-08 07:04:46
【问题描述】:
Firestore 允许您在查询集合时对文档进行排序(例如,citiesRef.orderBy("name")):https://firebase.google.com/docs/firestore/query-data/order-limit-data
但是,有没有办法对文档的字段进行排序?
例如,我在 Firestore 中有以下数据模型:
exampleCollection: {
documentId: {
field1: {sortOnMe: 1, foo: bar},
field2: {sortOnMe: 2, foo: bar},
field3: {sortOnMe: 3, foo: bar}
}
}
我目前正在返回给定文档中的所有字段,如下所示:
exampleCollection.doc(documentId)
.valueChanges()
.subscribe((response) => {
// response = {
// field2: {sortOnMe: 2, foo: bar},
// field3: {sortOnMe: 3, foo: bar},
// field1: {sortOnMe: 1, foo: bar}
// }
});
这很好用并且可以响应变化。但是,exampleData 的顺序是不可预测的,并且可以在添加新字段时更改。有没有办法根据其中的一些嵌套字段对上述查询返回的字段进行排序,例如sortOnMe?
如果不是,是否最好在每个文档中再添加一层可以排序的集合?来自 Firebase,我对嵌套太深犹豫不决,但这在 Firestore 中可能不是什么大问题。
【问题讨论】:
标签: javascript google-cloud-firestore