我正在使用Firebase创建搜索功能,如下所示
Firebase.database.ref('database-location').once('value').then(function(snapshot){
//do some filtering on results
});
但是,我想使用以下任一方式对结果进行动态排序:
.orderByKey()
或
.orderByChild('price')
我尝试使用括号表示法来选择上面的内容(变量是根据if语句决定的):
var orderByType = 'orderByChild'||'orderByKey'
var orderByVal = 'price'||undefined
Firebase.database.ref('database-location')[orderByType](orderByVal).once('value').then(function(snapshot){
//do some filtering on results
});
这适用于按值排序,但是当使用按键排序时,firebase会返回错误:“Query.orderByKey失败:使用1参数调用。期望无。”
有没有办法动态删除参数? 或按类型在两个订单之间切换的任何其他方式?