You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Если в качестве первечного ключа (параметр key) использовать не _id, то этот первичный ключ может быть изменен.
Сейчас mongodbext-relations обрабатывает такие обновелния не корректно.
При этом при попытке обновить поле foo в документе в коллекции coll1 кидается ошибка
Document with foo=... is not found in `coll1` collection
При этом обновление документа в коллекции coll1 на самом деле происходит, ошибка же возникает при попытке обновить его проекцию в коллекции coll2.
Соответственно, это все приводит к нарушению целостности базы, т.к. в coll1 поле обновилось, а во всех проекциях в coll2 - нет.
The text was updated successfully, but these errors were encountered:
Если в качестве первечного ключа (параметр
key
) использовать не_id
, то этот первичный ключ может быть изменен.Сейчас
mongodbext-relations
обрабатывает такие обновелния не корректно.Пример для воспроизведения проблемы: https://gist.github.com/lbeschastny/6aa6ce643c4d7edd0d02f8eb582e0a3c
Команда для запуска примера:
В примере в качестве первичного ключа используется поле
foo
:При этом при попытке обновить поле
foo
в документе в коллекцииcoll1
кидается ошибкаПри этом обновление документа в коллекции
coll1
на самом деле происходит, ошибка же возникает при попытке обновить его проекцию в коллекцииcoll2
.Соответственно, это все приводит к нарушению целостности базы, т.к. в
coll1
поле обновилось, а во всех проекциях вcoll2
- нет.The text was updated successfully, but these errors were encountered: