我有基于auth.uid
{
"map" : {
"bpudzUe0maQYxk3cPETeTvy7MAt2" : {
"latitude" : 28.63,
"longitude" : 77.375,
"timestamp" : 1490448969248,
},
"geQ0l71zJxgwgbwr3lAb8ScER8O2" : {
"latitude" : 28.62965996,
"longitude" : 77.375434,
"timestamp" : 1490450348739,
}
}
}
我有规则要读取在15分钟内创建的所有子记录 -
{
"rules": {
"map": {
".write": "auth != null",
"$id":{
".read": "data.child('timestamp').val() > (now - 900000)"
}
}
}
}
这就是我试图阅读消息的方式 -
FirebaseDatabase database = FirebaseDatabase.getInstance();
database.getReference("map").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
但它始终会提示消息Permission Denied
。
更新 我将规则改为 -
{
"rules": {
"map": {
".write": "auth != null",
".read": "auth != null",
"$id":{
".read": "data.child('timestamp').val() > (now - 900000)"
}
}
}
}
现在我可以阅读这些记录,但它向我展示了所有这些记录,而不是最新记录。