Преобразование внешних ограничений в документном документе raven
У меня есть следующая сущность "MyEntity" в моей RavenDb
{
Id: {Guid}
//...
//...
}
В приложении может произойти конкретное событие, относящееся к элементам MyEntity. Не хочу связывать пользователей (в том числе и в БД) с этим типом события, чтобы позволить обработчику событий обрабатывать событие, только если есть связь между MyEntity и User
Используя MySQL, я бы создал таблицу, которая объединяет MyEntity.Id с User.Id (и, возможно, с конкретным EventId) 1:x (x элемент N), чтобы я мог запрашивать все элементы с определенным Id (MyEntitiy.Id) и соответствующий User.Id
Можно ли просто применить этот подход к документу db, например RavenDb? Или я должен рассмотреть что-то еще?
1 ответ
Отношения между документами в RavenDB реализованы следующим образом:
Документ может ссылаться на любой другой документ из базы данных, сохраняя ссылочный идентификатор документа в документе. Ссылочные документы называются: Сопутствующие документы.
Например, документ employee /3-A относится к документу employee / 2-A:
{
"LastName": "Leverling",
"FirstName": "Janet",
"ReportsTo": "employees/2-A",
}
Эти связанные документы могут быть "загружены", "проиндексированы" и "запрошены".
Узнайте больше о моделировании документов и работе с несколькими документами по следующим ссылкам: