Firebase查询是否可扩展
在我的应用程序中检查注册时是否收到了电子邮件(和用户名)我使用这样的查询…
let emailRef = Firebase(url: "https://photocliq5622144.firebaseio.com/users") emailRef.queryOrderedByChild("email").queryEqualToValue(email.text!.lowercaseString).observeEventType(.Value, withBlock: { email in
这适用于数百甚至数千名用户(这是可扩展的)吗?
数百:是的
成千上万:是的
成千上万……可能(并祝贺您的应用成功)
成千上万……使用非基于查询的数据模型可能会更好。 例如:如果您想通过电子邮件地址访问用户的某些数据,请将地图从电子邮件地址存储到uid:
emailToUid "HelixProbe@stackoverflow,com": "uid6479958" "puf@stackoverflow.com": "uid209103"
使用这样一个简单的列表,您可以通过两个直接查找从他们的电子邮件地址读取用户的数据,而不是一个查询(随着越来越多的项目被添加,这将变慢)。
可扩展与否可由您的用户决定。
在场景背后Firebase库只是下载JSON字符串,你知道如果字符串太长并且要下载的文件大小到达会发生什么(例如3MByte)
如果您的用户能够并且可以使用3MByte的请求,那么您可以使用它。 但如果我是你的用户,我不会。