Я использую CosmosDB в качестве базы данных документов, для некоторых вещей мне нужно хранить ссылку «внешнего ключа», и я делал это как строковое свойство в документе, указывающем на идентификатор «документ внешнего ключа.
Если удаленный документ удален, каким будет наиболее эффективный способ найти все ссылки на внешние ключи и убедиться, что они удалены?
Я бы хотел, чтобы он был какнастолько автоматизирован, насколько это возможно, чтобы мне не приходилось слишком сильно «думать» об этом в проекте, и мое лучшее решение в моей голове - хранить ссылки на внешние ключи в четко определенной структуре, такой как:
{
"foreignId": "crazy_person",
"foreignType": "person"
}
Исохранить эту структуру в любой форме или форме в различных документах, а затем, когда «crazy_person» удален, я нахожу все документы, для которых определена эта структура, и если ForeignId / foreignType соответствует crazy_person, чтобы удалить их.
Не знаю, какЯ хотел бы реализовать это, хотя структура выше может быть в любом данном документе, например, так:
{
"foreignPerson": {
"foreignId": "crazy_person",
"foreignType": "person"
},
"foreignPeople": [
{
"foreignId": "crazy_person",
"foreignType": "person"
}
]
}