Многие ко многим используют Firebase

Допустим, у меня есть два вида объектов пользователей и учетных записей. Пользователи могут иметь много учетных записей и делиться ими с другими пользователями. Таким образом, AccountA может быть доступен для User1 и User2. Пока AccountB доступен только для User1. Таким образом, User1 имеет две учетные записи, а User2 имеет одну учетную запись.

Что "firebase» способ структурировать это?

Сначала я думал, что пользователи могут хранить множество учетных записей, к которым они принадлежат.

users: {
  1: {
    name: 'Ted',
    accounts: [1, 2]
  }
  2: {
    name: 'Frank',
    accounts: [1]
  }
}

accounts: {
  1: {
    name: "Checking"
  },
  2: {
    name: "Savings"
  }
}

Или Учетная запись будет иметь массив пользователей.

users: {
  1: {
    name: 'Ted'
  }
  2: {
    name: 'Frank'
  }
}

accounts: {
  1: {
    name: "Checking",
    users: [1, 2]
  },
  2: {
    name: "Savings"
    users: [1]
  }
}

Мне интересно, какой способ позволяет мне легко находить учетные записи для пользователя, чтобы при входе в систему Тед мог составлять список учетных записей, к которым он принадлежит, без необходимости опускать всю базу данных. Для безопасности я неВ любом случае, мне не нужны все эти данные на его машине.

Вопрос № 1 Будут ли правила безопасности позаботиться об этом? Под этим я подразумеваюЯ планирую установить мое правило безопасности таким образом, чтобы пользователи могли только те учетные записи, к которым они принадлежат. Я'Я надеюсь, что если я запросить "/ счета "Я"я вернусь только к тем учетным записям, к которым у пользователя есть доступ ... нет?

Вопрос № 2 Есть ли механизм для запроса списка предметов. Подобно "/ счета / [1,2]» чтобы я вернул счета/ Счета / 1" а также "/ Счета / 2" ?

Спасибо за любую информацию, которой вы можете поделиться.

Ответы на вопрос(1)

Ваш ответ на вопрос