何时使用$firebaseObject代替$firebaseArray

何时使用$firebaseObject代替$firebaseArray,firebase,angularfire,Firebase,Angularfire,我正在为我的项目使用angularfire,并经历了$firebaseObject的以下限制: orderBy和filter对它们不起作用 我无法直接将它们作为js文件中的对象进行操作 是否有$firebaseArray不能做但$firebaseObject可以做的事情 这是firebase的文档 如果要对对象进行排序,请将其视为数组。请参阅中的解决方案 标记示例: <div ng-repeat="val in object | toArray | orderBy:'priority' |

我正在为我的项目使用angularfire,并经历了
$firebaseObject
的以下限制:

  • orderBy
    filter
    对它们不起作用
  • 我无法直接将它们作为js文件中的对象进行操作

  • 是否有
    $firebaseArray
    不能做但
    $firebaseObject
    可以做的事情

    这是firebase的文档

    如果要对对象进行排序,请将其视为数组。请参阅中的解决方案

    标记示例:

    <div ng-repeat="val in object | toArray | orderBy:'priority' | filter:fieldSearch">
      {{val.$key}} : {{val}} 
    </div>
    
    
    {{val.$key}}:{{val}
    
    这是firebase的文档

    如果要对对象进行排序,请将其视为数组。请参阅中的解决方案

    标记示例:

    <div ng-repeat="val in object | toArray | orderBy:'priority' | filter:fieldSearch">
      {{val.$key}} : {{val}} 
    </div>
    
    
    {{val.$key}}:{{val}
    
    当您有单个对象时,应使用
    $firebaseObject
    ;当您有对象列表时,应使用
    $firebaseArray
    。如果没有看到您的代码,就不可能说出您使用的是哪种情况。为什么要盲目使用firebaseObject而不是firebaseArray?是否有理由(性能、功能…)使其成为优于阵列的可行选择?如果查询一个数组并且只有一个结果,它将返回一个长度为1的数组,如果没有,则返回0。另一方面,如果您查询一个对象并找到一个,那么您可以得到您的对象,但是如果您没有找到任何对象,则必须查找oor$value===null,这比使用length更不实用。当您有单个对象时,应使用
    $firebaseObject
    ,当您有对象列表时,应使用
    $firebaseArray
    。如果没有看到您的代码,就不可能说出您使用的是哪种情况。为什么要盲目使用firebaseObject而不是firebaseArray?是否有理由(性能、功能…)使其成为优于阵列的可行选择?如果查询一个数组并且只有一个结果,它将返回一个长度为1的数组,如果没有,则返回0。另一方面,如果您查询一个对象并找到一个,那么您可以得到您的对象,但是如果您没有找到任何对象,则必须查找oor$value===null,这比使用length更不实用。