2015-09-02 4 views
0

Я пытаюсь сгладить данные в моем приложении firebase. В проекте базы данных есть список пользователей и список проектов. Пользователи будут владеть проектами и должны иметь список индексов, в которые они принадлежат. Список пользователей индексируется с помощью uid, который является уникальным. В проектах я использую список проектов с уникальными идентификаторами. Управление проектами осуществляется с помощью firebaseArray и создается с помощью $ add. Я пытаюсь использовать сплющенную модель данных, показанную в руководстве в разделе данных структурирования. Проблема в том, что уникальные идентификаторы, генерируемые $ add, имеют в них специальные символы и не могут использоваться в качестве индекса для проекта в объекте users. При попытке создать объект, когда один из членов имеет в нем «специальные символы», генерируется ошибка.Firebase Использование уникальных идентификаторов с плоскими данными

Каков рекомендуемый способ обойти это?

+0

Я добавил идентификатор пользователя к проекту и попытался создать запрос, чтобы получить только проекты, принадлежащие текущему пользователю: –

+0

var projectsRef: Firebase = new Firebase ('https://flickering-torch-2606.firebaseio.com/projects'); \t \t \t \t \t \t // создать запрос для проектов, принадлежащих текущему пользователю \t \t \t вар запроса:. Любая = projectsRef.orderByChild ('идентификатор пользователя') equalTo (this.userId); –

+0

Он не может найти «userId» в проектах Ref. –

ответ

0

Для моего приложения я использовал orderBy и equalTo с userId в проектах. Это работает очень хорошо. OrderBy кажется странным термином для использования. Его больше похоже на выбор.

0

я кодирование немного модели слоя поверх angularfire, это в основном ручки (в большинстве случаев) боль идет с денормализованной моделью данных, вы можете захотеть взглянуть у него angularfire-resource

PS: Я m все еще работает над этим, поэтому немного начать использовать его в производстве, но я очень рад этому, и это может дать вам некоторые идеи.

Смежные вопросы