【发布时间】:2019-01-17 14:56:35
【问题描述】:
以编程方式,我已经能够为我的实时数据库实现规则和客户端查询,以查找用户表下的用户名是否存在。在创建 ".indexOn": "username" 规则之前,我收到一条警告说客户端正在下载所有数据并在客户端过滤它。
我的问题是“.indexOn”到底是做什么的?我不再收到那个警告了,所以我很好奇现在发送给客户的是什么?发送和过滤的只是用户名,没有其他内容吗?
为什么不在 firebase 服务器上进行过滤/查询,而是发回结果用户,这不是更有效/更安全吗?
我的查询是
db.database.ref(`/users`).orderByChild('username').equalTo(control.value)
.once("value").then(res => {
return res.exists() ? {usernameTaken : true} : null;
})
我的数据结构如下:
"users": {
"UID": {
"username" : "exampleName"
}
}
只是想更好地了解发生了什么/发生了什么,谢谢!
如果需要更多信息,请告诉我。
【问题讨论】:
标签: firebase firebase-realtime-database indexing