Преобразование внешних ограничений в базе данных Raven Document

У меня есть следующий объект "MyEntity" в моем RavenDb

{
  Id: {Guid}
  //...
  //...
}

В приложении может произойти определенное событие, связанное с элементами MyEntity. Я не хочу связывать пользователей (также в БД, конечно) с этим типом события, чтобы позволить обработчику событий обрабатывать событие только в том случае, если существует связь между MyEntity и User

Используя MySQL, я бы создал таблицу, которая объединяет MyEntity.Id с User.Id (и, возможно, конкретным EventId) 1:x (x элемент N), чтобы я мог запрашивать все элементы с определенным Id (MyEntitiy.Id) и соответствующий User.Id

Можно ли просто применить этот подход к базе данных документов, такой как RavenDb? Или я должен рассмотреть что-то еще?


person yBother    schedule 29.01.2019    source источник


Ответы (1)


Отношения между документами в RavenDB реализованы следующим образом:

Документ может ссылаться на любой другой документ из базы данных, сохраняя идентификатор документа, на который делается ссылка, в документе. Ссылочные документы называются: Связанные документы.

Например, документ employees/3-A относится к документу сотрудников/2-A:

{
    "LastName": "Leverling",
    "FirstName": "Janet",
    "ReportsTo": "employees/2-A",
}

Эти связанные документы могут быть «загружены», «индексированы» и «запрошены».

Узнайте больше о моделировании документов и работе с несколькими документами по следующим ссылкам:

person Danielle    schedule 30.01.2019