Подтвердить что ты не робот

Как написать .indexOn для динамических клавиш в firebase?

У меня есть данные, настроенные следующим образом:

Tasks:{
  Group 1:{
    pushid1:{
      date: 18921949021,
      title: "Do something"
    },
    pushid2:{
      date: 18921949021,
      title: "Do something else"
    }
  },
  Group 2:{
    pushid3:{
      date: 18921949021,
      title: "Do another thing"
    }
  }
}

Я ссылаюсь на него по дате, поэтому я получаю задания только через определенное время.

var now = Date.now();
var taskRef = new Firebase(FB + "/tasks/" + thisGroup);
taskRef.orderByChild('date').startAt(now).on("child_added", function(snap){
  console.log(snap.val());
});

Все это прекрасно работает, для каждой группы я получаю предупреждающее сообщение с надписью:

FIREBASE WARNING: Using an unspecified index.  Consider adding ".indexOn": "date" at tasks/Group 1 to your security rules for better performance

Как добавить это в мои правила безопасности? Я не могу добавить один для каждой группы, которую делает пользователь, есть ли какая-нибудь запись в виде дикой карты?

4b9b3361

Ответ 1

Я думаю, вы ищете:

{
  ".read": true,
  ".write": true,
  "rules": {
    "Tasks": {
      "$groupid": {
        ".indexOn": "date"
      }
    }
  }
}

Документация Firebase, как правило, довольно хорошо читается. Проводя час или меньше в руководстве по безопасности, вы сможете лучше понять эту и многие другие темы.