Является ли структура моей базы данных Firebase правильной и эффективной?Как добавить еще одну коллекцию, которая занимается динамическим календарем? - PullRequest
0 голосов
/ 29 января 2019

Разработка приложения типа ecom, но на основе одного продукта.Пример: частный с надписью One Product sweet.(целое приложение продает только один продукт).

Для этого я решил использовать firebase для аутентификации и базы данных.Итак, я структурировал базу данных следующим образом:

Firebase databse Structure:
#Users
 -user1
    -profile
 -user2
    -profile

#Orders
 -user1
   -a12as34
      -Order Details
      -Order Details
 -user2
   -29sjasjp
       -Order Detils 

#address
 -user1
    -address
       -address1
       -address2
 -user2
    -address

Эффективна ли структура?Или лучше?

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

Как сформировать структуру для этого?Так как у каждого пользователя может быть несколько заказов.хорошо ли создавать такую ​​структуру?

#OrderDate
   -user1
      -order1
         -marked data1,
         -marked data2,
         -marked data3

Так что я могу использовать этот массив order1 для построения графика в календаре.Есть ли какая-либо другая структура, которую я могу использовать?

1 Ответ

0 голосов
/ 29 января 2019

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

users

  • user1 details (вы можете включить массив адресов здеськак часть пользовательских данных)

_id: "jsch524xdh", name:"NAME", phoneNo:"90010XXXXX", city: "CITY", address: [address1 , address2] other details: "ANY OTHER DATA"

заказы

  1. детали заказа могут иметь такие ключи, как order_id, order_descи т. д. и вы должны включить user_id.Таким образом будет проще получить все заказы, набрав всего user_id из коллекции заказов

_id: "3rtggf4xdh", order_desc:"DESC", user_id:"jsch524xdh (of above user)", other details: "ANY OTHER DATA", order_date: "1-1-2019", is_delivered: true, дата доставки: "29-1-2019"

адрес

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

  • address:

    _id : "6723ghcjhchjs", desc: "ANY ADDRESS", user_id: "jsch524xdh (of above user)"

Для доставки, когда пользователь помечает заказ как доставленный, просто обновите заказ с is_delivered true вместе с датой доставки.Первоначально значения будут ложными и равными нулю (для delivery_date), когда вы вводите значения новых заказов.

Я желаю вам удачи и надеюсь, что вы достигнете своей цели, когда получите суть:)

Вы можете прочитать официальное подробное руководство по лучшей практике здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...