【问题标题】:Adding index to Firebase rules向 Firebase 规则添加索引
【发布时间】:2018-06-10 16:58:15
【问题描述】:

我正在使用 GeoFire 根据用户的当前位置从 Firebase 查询数据。我得到:

使用未指定的索引。考虑在 / 处添加 ".indexOn": "g" 您的安全规则以获得更好的性能

在控制台中。以下是我的查询代码:

            ref = Database.database().reference()
            let geoFire = GeoFire(firebaseRef: ref)

            let center = CLLocation(latitude: (userLocation.coordinate.latitude), longitude: (userLocation.coordinate.longitude))

            let circleQuery = geoFire?.query(at: center, withRadius: 1)

            circleQuery?.observe(.keyEntered, with: { key, location in

                guard let key = key else { return }

                geoFire?.getLocationForKey(key, withCallback: { (location, error) in

                    let myAnnotation: MKPointAnnotation = MKPointAnnotation()
                    myAnnotation.coordinate = CLLocationCoordinate2DMake((location?.coordinate.latitude)!, (location?.coordinate.longitude)!);
                    self.currentLocationMapView.addAnnotation(myAnnotation)      
                })


                self.ref.child("services").child(key).observeSingleEvent(of: .value, with: { (snapshot) in

                    let value = snapshot.value as? NSDictionary
                    let servicename = value?["name"] as? String ?? ""
                    let address = value?["address"] as? String ?? ""

                    self.nameArray.append(servicename)
                    self.addressArray.append(address)


                    if (self.nameArray.count > 0) {
                        self.customTableView.reloadData();     
                    }

                })

            }) 

我的 Firebase 规则标签具有以下设置。

"rules": {
    ".read": true,
        ".write": "auth != null"
          }

无论我在哪里插入“.indexOn”:“g”,我都会出错并且无法保存规则。有什么帮助吗?

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database geofire


    【解决方案1】:

    documentation 将您指向examples

    "rules": {
      ".read": true,
      ".write": "auth != null",
      ".indexOn": ["g"]
    }
    

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 2018-07-03
      • 2019-06-14
      • 2019-09-20
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 2015-02-18
      • 1970-01-01
      相关资源
      最近更新 更多