使用mongodb 运行一段时候后出现数据丢失重复出现很多次了

test123321

问题描述

安装的
composer require -W illuminate/database jenssegers/mongodb ^3.8.0
出现数据丢失

程序代码或配置

$AssetRecord =  new AssetRecord();
$list = $AssetRecord->get();
Db::connection('mongodb')->collection('AssetRecord')->insert($list->toArray());
配置
MONGODB_HOST_otc = 127.0.0.1
MONGODB_PORT_otc = 27017
MONGODB_DATABASE_otc = AssetRecord

重现问题的步骤


网mongodb 里面添加数据运行一段时候后数据就出现了丢失
这个是往里面添加数据
Db::connection('mongodb')->collection('AssetRecord')->insert($AssetRecord->toArray());

操作系统环境及workerman/webman等具体版本

下载的最新版本
这里写具体的系统环境相关信息
php7.4

588 1 0
1个回答

damao

用事务了吧?有的地方没提交事务,导致后续请求添加数据都属于未提交的事务,造成数据丢失的假象。

  • tanhongbin 2023-07-10

    在webman 中 使用事务 必须 try catch 要不然 你代码走一半出错了,你开始了事务 却没有提交 ,会有bug

  • test123321 2023-07-10

    已经添加到里面的数据过一段时间就丢失了,不是执行的时候丢了的

  • TM 2023-07-10

    未提交会自己回滚掉添加的数据的

🔝