我正在尝试动态构建一个具有多个条件的查询。
上下文:用户选择一些过滤器,如“棕色头发”,“高”等等。我想在Firebase中获取相应的数据。
目前,我的所有过滤器都在一个对象中:
var whereConditions = {fieldName: "value", fieldname: "value"};
在我们的案例中:
var whereConditions = {"hairColor": "brown", "height": "tall"};
有了这个对象,我想构建查询:
var docRef = db.collection("people").where("hairColor","==","brown").where("height","==","tall")
但是我遇到了一个问题,我不知道用户会选择多少过滤器(因此,不知道条件的数量),我不知道如何构建此查询。
我尝试过类似的东西,但它不起作用:
for (var key in listCondition) {
whereCond = whereCond + '.where(' + key + ', "==", ' + listCondition[key] + ')';
}
var docRef = db.collection("people").whereCond
我很确定它不起作用,但在来到这里寻求帮助之前我尝试了一些东西。
提前致谢