Ios Firebase查询是否可伸缩
在我的应用程序中,检查注册时是否使用了电子邮件(和用户名),我使用如下查询Ios Firebase查询是否可伸缩,ios,swift,firebase,Ios,Swift,Firebase,在我的应用程序中,检查注册时是否使用了电子邮件(和用户名),我使用如下查询 let emailRef = Firebase(url: "https://photocliq5622144.firebaseio.com/users") emailRef.queryOrderedByChild("email").queryEqualToValue(email.text!.lowercaseString).observeEventType(.Value, withBlock: { email in
let emailRef = Firebase(url: "https://photocliq5622144.firebaseio.com/users")
emailRef.queryOrderedByChild("email").queryEqualToValue(email.text!.lowercaseString).observeEventType(.Value, withBlock: { email in
这是否适用于数百甚至数千个用户(这是可伸缩的)?可伸缩与否取决于您的用户 幕后Firebase库只是下载JSON字符串,如果字符串太长且要下载的文件大小达到(例如3MByte),您完全知道会发生什么 如果您的用户能够并且同意3MByte请求,那么您就可以使用它。但是如果我是你的用户,我就不知道了。 千:是的 成千上万。。。可能吧(祝贺你的应用程序成功) 数十万。。。使用非基于查询的数据模型可能会更好。例如:如果要通过用户的电子邮件地址访问某些数据,请存储从电子邮件地址到uid的映射:
emailToUid
"HelixProbe@stackoverflow,com": "uid6479958"
"puf@stackoverflow.com": "uid209103"
使用这样一个简单的列表,您可以通过两次直接查找从用户的电子邮件地址读取数据,而不是一次查询(随着越来越多的项目添加,查询速度会变慢)。顺便说一句,每个人都在试图解决同一个基本的用户注册问题:人们想要唯一的用户可读用户名(即不仅仅是唯一的内部用户ID)和独特的电子邮件…firebase reeally需要像“独特”关键字这样的东西,或者专门用于用户注册,或者只是一个通用功能。我无法计算有多少此类问题……谢谢!这很有意义。希望我能接触到足够多的用户,以切换到非基于查询的模式。