структура облачного пожарного депо для рынка - PullRequest
0 голосов
/ 12 марта 2019

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

У нас есть коллекция под названием «пользователи», которая содержит уникальный документ для каждого пользователя. Предположим, что рынок - это место для продажи и покупки часов. Поэтому я определил коллекцию под названием «часы». Любой пользователь, вошедший в систему, может создать документ в этой коллекции: этот документ содержит информацию о часах, которые пользователь хочет продать. В частности, он имеет по меньшей мере два следующих поля: 1) поле с именем «идентификатор продавца», 2) и поле с именем «статус». «идентификатор продавца» - это просто идентификатор пользователя, который хочет продать свои часы, а «статус» - это текущий статус часов, который может быть «доступен», «зарезервирован» или «продан». Конечно, редактировать его может только пользователь, который создал этот документ, за исключением поля «статус». Если вошедший в систему пользователь хочет купить эти конкретные часы, он / она нажимает на кнопку резервирования, и это означает, что другие люди также не могут пытаться купить эти конкретные часы.

О правилах безопасности: можно легко создать правило безопасности, которое позволяет продавцу редактировать документ о своих часах, просто взглянув на поле «идентификатор продавца». Но покупатель должен иметь возможность редактировать «статус» этого документа и никаких других полей. Можем ли мы сделать такое правило безопасности? Что вошедший в систему пользователь может редактировать только статус определенного поля внутри документа?

Или эта структура не будет работать принципиально?

...