Javascript Firebase按类型动态更改订单

Javascript Firebase按类型动态更改订单,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我正在使用Firebase创建一个搜索函数,如下所示 Firebase.database.ref('database-location').once('value').then(function(snapshot){ //do some filtering on results }); 但是,我希望使用以下任一方法对结果进行动态排序: .orderByKey() 或 我尝试使用括号表示法来选择上述内容(变量由if语句决定): 这适用于按值排序,但在使用按键排序时,firebase返

我正在使用Firebase创建一个搜索函数,如下所示

Firebase.database.ref('database-location').once('value').then(function(snapshot){
    //do some filtering on results
});
但是,我希望使用以下任一方法对结果进行动态排序:

.orderByKey() 

我尝试使用括号表示法来选择上述内容(变量由if语句决定):

这适用于按值排序,但在使用按键排序时,firebase返回一个错误:“Query.orderByKey失败:使用1个参数调用。应为无。”

有没有一种方法可以动态地完全删除参数? 或者通过其他方式在两种订单类型之间切换

.orderByChild('price')
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
});