当前位置: 首页 > article >正文

ThinkORM模型静态方法create好像对MongoDB不支持

软件版本

  • think-orm:3.0
  • PHP:8.4.1
  • MongoDB:8.0.4 (本地单数据 非集群)
  • 注:我是在 webman 框架下使用think-orm,并非在 thinkphp框架下使用

使用场景

定义的模型如下:

<?php
namespace app\model;

use think\Model;

class User extends Model
{
    protected $connection = 'mongodb_user';
    //protected $table = 'user';
}

接收客户端的请求数据写入;写入的数据是一维PHP数组。安装 ThinkORM模型定义了一个模型,执行User::create($data)得到的异常提示是:

Transaction numbers are only allowed on a replica set member or mongos

(如下方式未试)

$User->save($data);

解决方法

用模型的User::insertAll([$data])执行数据写入,又可行。
不使用模型,直接使用如下方式也可行。

Db::connect('mongodb_user')->name('user')->save($data);

最终的选择在MongoDB下是不使用模型作为数据的写入。


http://www.kler.cn/a/557916.html

相关文章:

  • always和assign语法区别
  • 深入学习 XML:语法、约束、解析及相关技术
  • Git 中 rebase, squash, amend 的作⽤
  • 【回溯算法2】
  • 酵母细胞壁市场报告:探索潜力无限的生物资源宝库
  • javaEE-14.spring MVC练习
  • Python 高级数据结构操作全解析:从理论到实践
  • 智能硬件-01智能停车场
  • 案例-14.文件上传-简介
  • 大模型提示词工程实战
  • MySql面试宝典【刷题系列】
  • 审计级别未启用扩展模式导致查询 DBA_AUDIT_TRAIL 时 SQL_TEXT 列为空
  • C++ 设计模式-状态模式
  • 【Python爬虫(41)】消息队列:分布式爬虫的“智慧中枢”
  • 将产品照片(form.productPhotos)转为 JSON 字符串发送给后端
  • 学习笔记-沁恒第五讲-米醋
  • 如何在 Ubuntu 上安装和使用 Podman ?
  • Zookeeper应用案例-分布式锁-实现思路
  • My second Android application
  • CellChat前沿:spaCI:通过自适应图模型破译空间蜂窝通信