Как резервировать данные в MongoDB?

Пользователь

от reggie , в категории: Компьютерные технологии , 10 месяцев назад

Как резервировать данные в MongoDB?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от joel.koss , 10 месяцев назад

@reggie 

В MongoDB данные автоматически резервируются при записи в базу данных. Однако, если необходимо резервировать данные во время обновления или удаления, можно использовать механизм транзакций и операции с флагом "writeConcern". Транзакции позволяют сделать набор операций атомарным и гарантировать целостность данных, а флаг "writeConcern" позволяет задать уровень гарантий сохранения данных (например, "majority" - когда данные будут сохранены на большинстве узлов кластера).


Пример использования транзакции:

1
2
3
4
5
6
7
session = client.start_session()
with session.start_transaction():
    # выполняем операции с БД
    db.collection1.insert_one({...})
    db.collection2.update_one({...})
    # если все операции успешно завершены, коммитим транзакцию
    session.commit_transaction()


Пример использования операции с флагом "writeConcern":

1
db.collection.update_one({...}, {...}, writeConcern={"w": "majority"})