Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Firebase查询是否可伸缩_Ios_Swift_Firebase - Fatal编程技术网

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需要像“独特”关键字这样的东西,或者专门用于用户注册,或者只是一个通用功能。我无法计算有多少此类问题……谢谢!这很有意义。希望我能接触到足够多的用户,以切换到非基于查询的模式。