Совместное использование записей с другими пользователями в CosmosDB

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

Пример:

У меня есть мобильное приложение библиотеки Xamarin Forms, в котором есть студенты, учителя и книги.

Студенты могут видеть свои собственные книги, которые они проверили. И они могут поделиться тем, какие книги они проверили, с избранными другими учащимися.

Таким образом, если студент Стэн делится своими проверенными книгами со студенткой Сьюзи, то Сьюзи может видеть, какие книги извлек Стэн.

Как я могу справиться с этой CosmosDB? Я знаю, как это сделать с обычной базой данных sql, создав отношения master/detail. Могу ли я сделать то же самое с Cosmos DB, создав основные / подробные документы json?


person Jeremy W    schedule 06.06.2017    source источник
comment
Вы задаете 2 вопроса в 1, или вы хотите решить 2-ю часть с 1-й частью?   -  person Mikhail Shilkov    schedule 06.06.2017
comment
Я отредактировал это, спасибо.   -  person Jeremy W    schedule 07.06.2017


Ответы (1)


Во-первых, если вы хотите создать приложение брокера токенов для аутентификации пользователей и выдачи краткосрочных токенов вошедшим пользователям, см. Брокер токенов ресурсов на GitHub.

Во-вторых, для функциональности обмена книгами. Если вы моделируете свои данные, чтобы сохранить student-books-sharingrelations в одном документе, это обеспечит простой способ чтения почти всей информации об отношениях в запросе/запросе. Кроме того, как вы упомянули, если вы храните эту информацию/данные в отдельных документах, может потребоваться несколько запросов/запросов для получения информации о связи.

В этой теме обсуждалось ''Как создать и обновить связь между документами в DocumentDB», что может быть полезно.

person Fei Han    schedule 07.06.2017
comment
Спасибо, Фред! Это была ОГРОМНАЯ помощь! - person Jeremy W; 15.06.2017