Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Xcode .indexOn Firebase iOS_Xcode_Firebase_Firebase Realtime Database - Fatal编程技术网

Xcode .indexOn Firebase iOS

Xcode .indexOn Firebase iOS,xcode,firebase,firebase-realtime-database,Xcode,Firebase,Firebase Realtime Database,这里是数据结构布局。我有多个组,每个组下有多个付款 { "RE_PAYMENTS" : { "AF04BDB4-6AF4-43F1-A084-D215AD0C992D" : { "B73FBFB1-2615-4F42-A7C6-3CA4B2B4BCDF" : { "PAYMENT_DETAIL" : { "paymentAmount" : 20, "paymentCurrency" : "USD", "paymentDate" : "14

这里是数据结构布局。我有多个组,每个组下有多个付款

{
  "RE_PAYMENTS" : {
"AF04BDB4-6AF4-43F1-A084-D215AD0C992D" : {  
  "B73FBFB1-2615-4F42-A7C6-3CA4B2B4BCDF" : { 
    "PAYMENT_DETAIL" : {
      "paymentAmount" : 20,
      "paymentCurrency" : "USD",
      "paymentDate" : "1461525157.150915"
    }
  },
  "B8B0FDF3-4458-4AE2-B1A0-9DCD8ACFF422" : {
    "PAYMENT_DETAIL" : {
      "paymentAmount" : 40,
      "paymentCurrency" : "USD",
      "paymentDate" : "1461525392.178588"
    }
   }
  }
 }
}
从上面的结构来看,“AF04B……”是groupId,下面将有多个付款组

以下是我如何制定规则的

我仍然不断收到Xcode警告

[Firebase] Using an unspecified index. Consider adding ".indexOn": "PAYMENT_DETAIL/paymentDate" at /RE_PAYMENTS/AF04BDB4-6AF4-43F1-A084-D215AD0C992D to your security rules for better performance
我已经按照文档进行了操作,我正在努力使结构尽可能平整。关于解决indexOn问题有什么建议吗?我无法使用索引规则硬编码groupId或paymentId

以下是触发此警告的代码(eventType为FEventTypeChildAdded或FEventTypeChildChanged或FEventTypeChildRemoved)

并且查询被创建为

// I have just pasted the value here but the path is created using 'childByAppendingPath'
Firebase *groupRef = @"https://xxxxxxxx.firebaseio.com/RE_PAYMENTS/AF04BDB4-6AF4-43F1-A084-D215AD0C992D";   

FQuery* query = [[[groupRef queryOrderedByChild:@"PAYMENT_DETAIL/paymentDate"] queryStartingAtValue:startDateQueryString] queryEndingAtValue:endDateQueryString];
这是用于查询的Xcode控制台


我所要做的就是在一组日期内查询组下的付款列表。

是什么代码触发了错误。此外:您已经在问题和其他文本中包含了JSON树的图片。请用实际文本替换。您可以通过单击Firebase数据库中的导出按钮轻松获取JSON。拥有as文本使其可搜索,使我们能够轻松地使用它来测试您的实际数据,并在我们的答案中使用它,总的来说,这是一件好事。@FrankvanPuffelen。。。我已经添加了您要求的详细信息。谢谢你的帮助。我正在从parse迁移我的应用程序,我很想让它正常工作。是什么代码触发了错误。此外:您已经在问题和其他文本中包含了JSON树的图片。请用实际文本替换。您可以通过单击Firebase数据库中的导出按钮轻松获取JSON。拥有as文本使其可搜索,使我们能够轻松地使用它来测试您的实际数据,并在我们的答案中使用它,总的来说,这是一件好事。@FrankvanPuffelen。。。我已经添加了您要求的详细信息。谢谢你的帮助。我正在从parse迁移我的应用程序,我很想让它正常工作。
// I have just pasted the value here but the path is created using 'childByAppendingPath'
Firebase *groupRef = @"https://xxxxxxxx.firebaseio.com/RE_PAYMENTS/AF04BDB4-6AF4-43F1-A084-D215AD0C992D";   

FQuery* query = [[[groupRef queryOrderedByChild:@"PAYMENT_DETAIL/paymentDate"] queryStartingAtValue:startDateQueryString] queryEndingAtValue:endDateQueryString];