2015-03-22 3 views
0

У меня есть 4 класса в Parse.Дизайн модели данных для Parse

1) Rangoli - Main item objects 
2) Categories - List of all categories 
3) Users - List of all users 
4) ItemCategories - List of categories that each items are assigned 

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

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

enter image description here

Для подробного вопроса о запросе, пожалуйста, обратитесь к Relational Query in Parse

+0

Вы могли бы присоединиться к нам? Эти классы являются реляционными таблицами после всех –

+0

Мы не могли делать традиционный SQL на облаке разбора. У меня возникают проблемы с объединениями, предоставляемыми Parse. См. Http://stackoverflow.com/questions/29186454/relational-query-in-parse/29187549#29187549 – Purus

+0

Вы можете сделать категорию a Отношение или массив – Simba

ответ

1

Вы могли бы сделать категории взаим или Array.

См:

documentation

Вы можете сделать категорию в категории пункт отношение, или вы могли бы добавить колонку категорий в Rangoli и ломом таблицу ItemCategories.

Редактировать- Вы можете сделать категории рубрикой в ​​Ранголи. Теперь, когда вы запрашиваете элементы, вы также получаете все свои категории. Вы все равно можете использовать свою другую таблицу, чтобы получить все элементы в категории, и это сопоставление намного проще. Теперь вы получаете оба варианта использования

+0

Жаль, что это боль. Все еще пытаюсь понять элементы действия. должен ли столбец категорий в Rangoli быть типом отношений? – Purus

+0

Итак, единственное отличие от вашей текущей схемы состоит в том, что у Rangoli будет новый столбец: «Категории». Если у Rangoli будет небольшое количество категорий (10 или меньше) в среднем прецеденте, сделайте его массивом. В противном случае сделайте его отношением – Simba

+0

Это будет 1 или 2 или максимум 3. Когда его определить как массив, будет ли трудно запросить их напрямую? Думаю, нам нужно разобрать массив вручную, чтобы запросить itesm определенного типа в массиве. пожалуйста, исправьте меня, если ошибаетесь. – Purus