Весенние данные Mongodb Поддержка насыпной вставки / сохранения

StackOverflow https://stackoverflow.com//questions/12685754

  •  12-12-2019
  •  | 
  •  

Вопрос

Я был Google некоторое время, не уверен, поддерживает ли Spring Data Mongodb для объема сохранения.

Мне нужно сохранить коллекцию документов в Mongo как атомное, либо все сохранено, либо не сохранено.

Может ли кто-нибудь поделиться ссылкой или определенным образцом для этого?

Это было полезно?

Решение

Когда вы делаете сэкономьте через драйвер MongoDB Java, вы можете пройти один документ только в MongoDB.

Когда вы выполняете вставку, вы можете пройти один элемент или вы можете пройти массив элементов. Последний - это то, что приведет к тому, что «объемная вставка» (i.e. Single INSERT COMMING от клиента приведет к вставлению нескольких документов на сервере).

Однако, поскольку mongodb не поддерживает понятие транзакции, если один из вкладок не удается, нет способа указать, что ранее вставленные документы должны быть удалены или откатываются назад.

Для целей атомасности каждый документ вставка является отдельной операцией, и нет поддерживаемого способа сделать Mongodb либо вставить все или нет.

Если это то, что ваше приложение требует, возможно, могут быть другие способы этого достижения: - Измените свою схему, чтобы они были субдокуматами одного родительского документа (Тогда есть технически только одна «вставка» родительского документа) - Напишите семантику транзакции в свой код приложения - Используйте базу данных, которая в основном поддерживает две фазы Commit Express.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top