我正在努力寻找关于使用firebase firestore,angularfire5和angular 5过滤数据的最佳实践的好材料。我正在构建一个基于地图的Web应用程序,类似于房地产应用程序。我在地图上有需要按不同属性过滤的引脚。你知道我能看到的任何好文章吗?或者如何最好地接近这一点。
我想到的一些问题是:
示例对象数据:
{
"key": {
"suburb": "Chelsea",
"lng": 90,
"lat": -90,
"street": "Lennox",
"streetNo": 200,
"lotSize": 600,
"city": "langdon",
"attributeKeys": [
{
"key1": true,
"key2": true,
"key3": true,
"key4": false,
"key5": false
}
]
}
}
让我们假设以下过滤方案:chelsea中的所有地图项目,批量大于400,其中key1 = true,key2 = true。
以下是我当前服务的示例:
this.mapItems = Observable.combineLatest(
this.suburb,
this.minLotSize,
this.maxLotSize,
this.attrbute1Filter,
).switchMap(([suburb, minLotSize, maxLotSize, attrbute1Filter]) =>
afs.collection('properties', ref => {
let query: any = ref;
if (suburb) { query = query.where('address.suburb', '==', suburb) };
if (minLotSize) { query = query.where('attributes.lotArea', '>=', minLotSize) };
if (maxLotSize) { query = query.where('attributes.lotArea', '<=', maxLotSize) };
if (attrbute1Filter) { query = query.where('attributeKeys.key1', '==', subdivisionFilter) }
return query;
})
.valueChanges()
);
感谢您的帮助。