Проблема, которую я пытаюсь решить, состоит в том, чтобы создать коллекцию foo
, мне нужно добавить данные запроса пользователя в bar
. (Если bar
не существует, создайте bar
, иначе вставьте данные в bar
.) Затем я хочу передать идентификатор объекта bar
в поле foo
, чтобы я мог ссылаться на bar
и создать foo
.
Но если я сначала создаю bar
успеха, то я пытаюсь создать foo
, но это не удается, я хочу уничтожить только что созданный bar
. Но, если bar
существует раньше, то я хочу удалить только добавленные данные из bar
.
Я пытался добавить эти операции в транзакцию, но MongoDB не позволяет манипулировать новой коллекцией внутри транзакция в соответствии с документацией :
Внутри транзакции можно указывать только операции чтения и записи (CRUD) для существующих коллекций. Например, многодокументная транзакция не может включать операцию вставки, которая привела бы к созданию новой коллекции.
Какой лучший подход к решению этой проблемы?