2016-11-28 43 views
1

我有一个火力地堡数据库:考虑增加.indexOn的火力地堡

"requested_rides" : { 
"2016-10-04" : { 
    "-KT9F_8DJHmKj33PW70w" : { 
    "added_on" : 1475493385140, 
    "code" : "AQZ66I4QP4", 
    "date_of_ride" : "2016-10-04 AD 04:22 AM GMT+05:45", 
    "day" : "Tomorrow", 
    "dropoff_coordinate" : "27.6953541,85.2965062", 
    "dropoff_location" : "Chunne Pakha", 
    "fullname" : "[email protected]", 
    "offered_by" : "v1tENP2TaUVHaZFhSGuZ4M6cJJU2", 
    "pickup_coordinate" : "27.716454540107783,85.32458111643793", 
    "pickup_location" : "Kuber Plazza, Kathmandu 44600, Nepal", 
    "seats" : "2", 
    "share" : "578", 
    "time" : "04:22 AM", 
    "vechile_type" : "Bike" 
    } 
}, 

我已经添加规则到数据库,但我收到此错误

考虑在/ requested_rides/2016-11加入".indexOn": "code" -23,为更好的性能

我定义的规则您的安全和火力地堡规则是

"rules":{ 
    ".read":true, 
    ".write":true, 
    "requested_rides":{ 
     ".indexOn":"code" 
    } 
} 
+0

以下可能回答。但对于下一个问题:还请添加触发错误消息的代码。没有看到这一点,很难确定。 –

回答

0

你以另一种方式定义indexOn,尝试改为:

".indexOn": ["code"] 
+0

索引可以定义为一个单独的属性名称*或*作为属性名称的数组。两者都是有效的。 –

3

错误消息告诉给索引添加到/requested_rides/2016-11-23。因此,这将是一个更深层次:

"rules":{ 
    ".read":true, 
    ".write":true, 
    "requested_rides":{ 
     "2016-11-23": { 
      ".indexOn":"code" 
     } 
    } 
} 

或(更可能):

"rules":{ 
    ".read":true, 
    ".write":true, 
    "requested_rides":{ 
     "$date": { 
      ".indexOn":"code" 
     } 
    } 
} 

这意味着你只能查询一次骑你已经知道日期的行列。