Firebase использует уникальные идентификаторы со сглаженными данными

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

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


person Steve Graber    schedule 02.09.2015    source источник
comment
Я добавил идентификатор пользователя в проект и пытаюсь создать запрос, чтобы получить только проекты, принадлежащие текущему пользователю:   -  person Steve Graber    schedule 02.09.2015
comment
var projectsRef: Firebase = new Firebase ('flickering-torch-2606.firebaseio.com/projects'); // создаем запрос для проектов, принадлежащих текущему пользователю var query: any = projectsRef.orderByChild ('userId'). equalTo (this.userId);   -  person Steve Graber    schedule 02.09.2015
comment
Он не может найти userId в файле projectsRef.   -  person Steve Graber    schedule 02.09.2015
comment
Проблема заключалась в this.userId, а не в userId. Так что, похоже, это работает.   -  person Steve Graber    schedule 02.09.2015
comment
Не могли бы вы включить примеры кода и структур данных? См. создание mcve.   -  person Kato    schedule 03.09.2015


Ответы (2)


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

person Steve Graber    schedule 02.09.2015

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

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

person nicolas    schedule 02.09.2015