Mongodb

我們如何在 mongodb 獨立連接中使用事務?

  • April 21, 2020

我想在 mongodb 中使用事務,但它告訴副本集我們可以使用獨立的 mongodb 執行事務查詢,如果是,請分享我們如何做,因為當我嘗試它時給出錯誤

This MongoDB deployment does not support retryable writes. Please add retryWrites=false to your connection string

我們如何在沒有可重試寫入的情況下執行翻譯。

謝謝

這是不可能的,並且在手冊中清楚地記錄了。

參考:可重試寫入

可重試寫入允許 MongoDB 驅動程序在遇到網路錯誤或無法在副本集或分片集群中找到健康的主節點時自動重試某些寫入操作。

可重試寫入具有以下要求:

支持的部署拓撲

可重試寫入需要副本集或分片集群,並且不支持獨立實例。

支持的儲存引擎

可重試寫入需要支持文件級鎖定的儲存引擎,例如 WiredTiger 或記憶體儲存引擎。

您可以將獨立部署轉換為單節點副本集。按照教程將獨立集轉換為副本集,但不要添加任何其他成員。

這將允許您使用需要副本集部署的功能(例如,MongoDB 4.0+ 中的事務和 MongoDB 3.6+ 中的更改流)。

單個成員部署的主要缺點是您無法獲得任何常見的副本集優勢,例如數據冗餘和容錯。與獨立伺服器相比,副本集成員也有一些預期的寫入成本,因為它必須維護複製 oplog

生產副本集部署應至少具有三個成員。有關完整詳細資訊,請參閱MongoDB 文件中的部署副本集

引用自:https://dba.stackexchange.com/questions/265236