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

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下是不使用模型作为数据的写入。

相关文章:

  • 深度学习-7.超参数优化
  • CSS按钮点击效果实战:scale(0.95) 与10个交互动画优化指南
  • 体育品牌排行榜前十名:MLB·棒球1号位
  • 【含开题报告+文档+PPT+源码】基于springboot加vue 前后端分离的校园新闻审核发布管理系统
  • linux常用基础命令_最新版
  • Apifox 增强 AI 接口调试功能:自动合并 SSE 响应、展示DeepSeek思考过程
  • 这个 Python 库,隐藏了你不知道的数据库操作技巧
  • @media 的常用场景与示例
  • [ProtoBuf] 介绍 | 保姆级win/linux安装教程
  • Windows 11 使用容器(Docker Podman)
  • git如何打patch
  • netty基础知识梳理和总结
  • Python爬虫实战:爬取豆瓣电影
  • 公文派2025:免费社区版重大安装更新!
  • 动态链接器(九):.init和.init_array
  • 什么是手机9008模式?如何进入9008
  • 技术解析 | 适用于TeamCity的Unreal Engine支持插件,提升游戏构建效率
  • 【学习笔记】Cadence电子设计全流程(三)Capture CIS 原理图绘制(1-8)
  • 【多语言生态篇一】【DeepSeek×Java:Spring Boot微服务集成全栈指南 】
  • [Android]如何查看APK是使用的什么签名方案
  • 做网站的文章/优化公司结构
  • 专题网站建设/推广引流方法与渠道
  • 网站建设公司赚钱/台州关键词优化平台
  • 企业网站多大空间/百度统计代码