Так что я использую реляционные базы данных в течение последних 3 лет, и у меня возникли некоторые проблемы с мышлением при создании баз данных noSql.У меня есть следующие модели:
class Account(ndb.Model):
first_name = ndb.StringProperty()
last_name = ndb.StringProperty()
email = ndb.StringProperty()
password = ndb.StringProperty()
class Organisation(ndb.Model):
org_name = ndb.StringProperty()
org_address = ndb.StringProperty()
.. and so on
class UserProfile(ndb.Model):
user = ndb.KeyProperty(kind='Account')
organisation = ndb.KeyProperty(kind='Organisation')
role = ndb.StringProperty()
Учетная запись x Организация технически является отношением многие ко многим, поэтому UserProfile действует как таблица ссылок, как в реляционных базах данных
Насколько я понимаю, я не долженне нужно делать более 1 запроса, чтобы получить информацию о сущности.Например, если я запрашиваю, чтобы получить все UserProfiles, принадлежащие пользователю, то мне не нужно циклически проходить и запрашивать каждую сущность UserProfiles, чтобы получить информацию о каждой организации в отдельности.Я чувствую, как я это структурировал, это не самое лучшее или так и должно быть.
Еще одна вещь, о которой я думал, - это хранить детали организации внутри самой модели Учетной записи, но тогда, если организациядетали изменились, тогда мне пришлось бы запросить все учетные записи, связанные с организацией, и обновить каждую из них в отдельности.
Просто запутанный в том, как это сделать, любая помощь или объяснение, где я иду не так, была бы признательна.