我是第一次尝试使用Firebase,我想澄清一下firebase的localstorage部分是如何工作的。
在我的测试应用程序中,我有一个“事件”数据库,每个文档都有以下结构:
{
"ref": String,
"message": {
type: String,
content: String
}
}
ref
包含对环境ID的引用,我使用以下代码仅显示与events
匹配的ref
(使用Angularfire)
$scope.events = $firebaseArray(ref.orderByChild('ref').equalTo($scope.env.environment._id));
我的问题是:Firebase / Angularfire会下载整个“事件”数据库,然后在本地过滤它,还是会将过滤后的请求发送到firebase服务器?如果不是后者,当我有超过一百万events
时会发生什么?
答案 0 :(得分:1)
服务器上的Firebase查询过滤器。所以:
ref.orderByChild('ref').equalTo($scope.env.environment._id)
整个指令被发送到服务器并在那里执行。只有符合条件的子项才会与客户端同步。