Firestore从数组创建复合查询

时间:2019-01-09 16:38:46

标签: javascript firebase google-cloud-firestore

我正在尝试创建一个复合查询来进行范围查询。

let query;
category.queryParams.query.fieldFilters.forEach(function(fieldFilter) {
    query = collection.where(fieldFilter.field, filterOperationString(fieldFilter.filterType), fieldFilter.filterValue);
});

但这并没有给我想要的结果。

我感觉需要像collection.where().where()

那样链接查询

如果是这种情况,如何使用该语法转换数组的内容?

2 个答案:

答案 0 :(得分:0)

据我了解,您有一个名为fieldFilters的数组,其中包含多个对象,这些对象具有字段属性(例如“价格”),filterType属性(例如“>”)和filterValue属性(例如50)。如果您尝试在不同的字段上进行多个范围查询,那么这将无法按照文档https://firebase.google.com/docs/firestore/query-data/queries#compound_queries中所述进行操作。对于该问题确实存在解决方案,建议您阅读弗兰克·范·普菲伦(Frank van Puffelen)对以下问题的回答:Firestore multiple range query

答案 1 :(得分:-1)

使用以下代码解决了该问题:

<span class="removeThis">"-"</span>


.removeThis
{
display:none;
}



 or



label > .removeThis
{
display:none;
}