Laravel - Jenssegers MongoDB 嵌套数组更新不起作用

2023-12-28

有人可以指出我的代码有什么问题吗? 我正在尝试通过 Laravel Jenssegers 更新 MongoDB 中的嵌套数组。这是我的代码

 $update_status = Journal::where('_id', "5cd10b325586e9122761f675" )
    ->update(
        [], 
        [ '$set' =>
            [
                "workflow.$[i].stages.$[j].stage_code" => "edit",
                "workflow.$[i].stages.$[j].stage_name" => "Editing"
            ]
        ],
        [ 'arrayFilters' => [
                [ "i.basic_details.wfCode" => 'wf1' ],
                [ "j.stage_id" => "wf1_2" ]
            ]
        ]
    );

and my Journal集合是:

{
    "_id" : ObjectId("5cd10b325586e9122761f675"),
    "workflow" : [ 
        {
            "basic_details" : {
                "wfCode" : "wf1"
            },
            "stages" : [ 
                {
                    "stage_id" : "wf1_1",
                    "stage_code" : "submission",
                    "stage_name" : "Submission",
                    "button_label" : "submit"
                }, 
                {
                    "stage_id" : "wf1_2",
                    "stage_code" : "s2",
                    "stage_name" : "S2",
                    "button_label" : "label2"
                }
            ]
        }
    ]
}

执行后,我得到$update_status为 1,但在查看集合时,它保持不变。


请检查这个查询,我认为这应该有效......

$articleId = new ObjectID("5cd10b325586e9122761f675");
$result = Journal::raw(function ($collection) use ($articleId) {
return $collection->updateOne(
    array ('_id' => $articleId), 
    array ('$set' => 
        array(
            'jnl_workflow.$[i].wf_stages.$[j].wf_stage_code' => "edit",
            'jnl_workflow.$[i].wf_stages.$[j].wf_stage_name' => "Editing" 
        )
    ), 
    array( 'arrayFilters' => [ array ('i.wf_basic_details.wfCode' => 'wf1'), array('j.wf_stage_id' => "wf1_2" ) ] ) 
)

});

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel - Jenssegers MongoDB 嵌套数组更新不起作用 的相关文章

  • Windows 7 机器上的 MongoDB:无法建立连接

    在 Windows 7 机器上使用 mongod exe 启动 Mongo 后 我尝试启动 mongo shell 但失败并出现以下错误 无法连接到 127 0 0 1 27017 原因 errno 10061 否 由于目标机器主动拒绝而无
  • Mongoose 查询:删除“_id”属性,在结果中保留虚拟属性“id”

    我正在运行 Express js 应用程序 并且有以下设置 模型 js var schemaOptions toJSON virtuals true toObject virtuals true var modelSchema new mo
  • Mongoose嵌入式文档更新

    我在嵌入式文档更新方面遇到问题 我定义的架构 var Talk new Schema title type String required true content type String required true date type D
  • 如何在通过 Laravel Eloquent 方法连接的元素上使用 orderby

    问题是查询无法找到应该与 Laravel Eloquent 中的方法WITH 连接的特定方法 特定方法 特定模型 特定模型 特定方法等 有什么想法如何解决吗 我的代码 SpecificModel
  • Laravel Mongo 多对多关系在哪里不起作用

    我有两个以多对多关系相互关联的 mongo 文档 一个称为律师 另一个称为律师 我的律师模型有 public function cases return this gt belongsToMany App LawCase 我的 LawCas
  • Laravel 8,如何在后台运行作业(脚本)?

    我正在尝试使用 Laravel 8 在后台运行一个耗时的脚本 但无法完全让它工作 我尝试按照这里的文档进行操作https laravel com docs 8 x queues https laravel com docs 8 x queu
  • MongoDB 复合键:InvalidOperationException:{document}.Identity 不受支持

    我在水合由复合 ID 组成的类时遇到问题 该复合 ID 又具有基类 我收到一条错误消息InvalidOperationException document Identity is not supported 我试图写入数据库的类如下 pub
  • 特定文件夹的 .htaccess 例外

    这是我的 htaccess 代码 位于根文件夹中
  • 无法连接到服务器 127.0.0.1:27017 连接尝试失败 MongoDB

    我正在使用 Ubuntu 操作系统 16 04 我正在使用命令启动 mongodb sudo service mongod start进而mongo 它为我生成了这个错误 MongoDB shell version v4 0 1 conne
  • 作曲家 | laravel 5 - 更新依赖项但框架本身

    我正在为我的项目使用 Laravel 5 的预测试版 我发现 Laravel 5 的应用程序框架在 github 存储库中发生了更改 并且由于它是开发版本 因此预计会经常更改 我的问题是 我可以使用 Composer 只更新特定的依赖项而不
  • Laravel 在 Eloquent 范围和查询中使用 select

    我正在尝试清理我编写的一些代码 这是当前的代码 message Message with comments gt join users messages created by users id gt join team user messa
  • Mongodb更新很多

    我正在使用express js 和 npm 模块 mongodb 进行开发 并以 mongodb 作为数据库 我有两个集合 即 用户 和 活动 一个用户可能有数千个活动 首先 我将用户的 id 姓名和图片 url 存储到 关系的活动文件 请
  • MongoDB自增ID

    MongodB 中自动生成的 ID 的大小为12 Bytes大整数的大小是8 bytes 我在 4 台运行 Ubuntu Server 的机器上有一个 mongodb 集群 但我现在只是在测试 插入只能通过一台服务器 即 Nodejs 服务
  • 使用 Tweepy 获取推文时出错

    我有一个用于获取推文的 Python 脚本 在脚本中我使用该库 Tweepy 我使用有效的身份验证参数 运行此脚本后 一些推文存储在我的 MongoDB 中 有些则被 if 语句拒绝 但我仍然收到错误 requests packages u
  • 如何将 Laravel 5.4 与 Angular 4 集成

    我知道如何创造完整的拉拉维尔 5 4自己的项目 我也知道如何使用创建 SPA角4 Problem 我不知道如何将 Laravel 与 Angular 集成 另外 我想使用 Laravel 5 4 作为后端 使用 Angular 4 作为前端
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio

随机推荐

  • Angular 6 样板仅具有基本功能(始终需要)?

    我总是用新项目设置 Angular 任何人都可以建议好的样板 无需开发应用程序中大多数时候需要的基本必需功能 Angular 6 中的 JWT 身份验证 Angular 6 中的 Bootstrap Material Design 设置 A
  • 为什么无法使用反射获取局部变量名称?

    如果我有这样的代码 public class Program public static void Main string bar int foo 24 我可以获得声明的局部变量Main using var flag BindingFlag
  • 访问 Hello-World Google Cloud Endpoint 服务的 URL 是什么?

    我通过使用在 Eclipse 中生成了一个 Google Endpoint AppEngine 项目Generate AppEngine BackEnd如中所述这篇博文 http devthots blogspot no 2012 07 b
  • 如何在 PHP 中不使用 foreach 来内爆带有键和值的数组

    没有 foreach 我怎样才能像这样转动一个数组 array item1 gt object1 item2 gt object2 item n gt object n 像这样的字符串 item1 object1 item2 object2
  • JAX-RS:Tomcat 运行正常但未找到 root (404)

    我刚刚为我的 RESTful Web API 启动了 JAX RS Jersey Tomcat运行正常但找不到root 错误404 错误控制台如下 SEVERE Servlet Jersey REST Service in web appl
  • AWS EC2 中的 MySQL - 它如何扩展?

    当您不再只使用一个数据库实例时 使用 EC2 时的最佳实践是什么 如果第一个实例是主实例并且您正在启动从属实例 那么它们需要扫描事务日志并在从属实例可用之前使自己保持最新状态 对吗 如果主人跑了一段时间很忙 这可能会花很长时间 对吗 在 E
  • 为什么 CollapsingToolbarLayout 中按钮的点击区域太小?

    我里面有三个按钮CollapsingToolbarLayout 展开时 其想法是修改正在显示的图像库上的过滤器 或弹出一个编辑对话框 我得到的结果不一致 按钮只是间歇性地响应点击 最终 我意识到问题在于可点击区域比视图的客户端矩形小得多 水
  • 如何更改 StringToDate 中的默认格式? Spring WebFlow

    Spring WebFlow 中的默认日期格式是 yyyy MM dd 如何更改为其他格式 例如 dd mm yyyy 抱歉发晚了 但这就是你必须做的 Spring Webflow 进行自定义数据绑定 它与 Spring MVC 的做法类似
  • 关于 Cocoa 中线程和运行循环的澄清

    我正在尝试学习线程 但我完全感到困惑 我确信所有答案都在苹果文档中 但我发现它真的很难分解和消化 也许有人可以帮我解决一两件事 1 在主线程上执行Selector 上面的代码是否只是在主运行循环中注册了一个事件 或者它是否以某种方式成为一个
  • Java 中的单例模式和静态类有什么区别? [复制]

    这个问题在这里已经有答案了 单例与仅填充静态字段的类有何不同 几乎每次我编写静态类时 我最终都希望将其实现为非静态类 考虑 可以扩展非静态类 多态可以节省大量重复 非静态类可以实现接口 当您想要将实现与 API 分开时 它会派上用场 由于这
  • 使用 jQuery 选择器和 setSelectionRange 不是一个函数

    我在下面组装了一个基本的小提琴 由于某种原因 我的选择器可以检索文本区域框来设置值 但选择器无法使用 setSelectionRange 函数 在控制台上 您会发现 setSelectionRange is not a function 的
  • 预测模式中的下一个数字

    我正在尝试使用 TensorFlow 编写一个简单的程序来预测序列中的下一个数字 我没有 TensorFlow 经验 因此我没有从头开始 而是从本指南开始 http monik in a noobs guide to implementin
  • commons-collections 和 commons-beanutils 中的重复类

    Apache 的两个 Maven 工件中有四个重复的类 commons beanutils commons beanutils 1 8 3 and commons collections commons collections 3 2 1
  • 如何检查文件夹是否存在?

    我正在研究 Java 7 IO 的新功能 实际上我正在尝试检索文件夹中的所有 XML 文件 但是 当文件夹不存在时 这会引发异常 如何使用新 IO 检查该文件夹是否存在 public UpdateHandler String release
  • Google pydrive 将文件上传到特定文件夹

    我正在尝试将文件上传到我的 Google 驱动器 下面的代码有效 如何指定上传到哪个文件夹 即驱动器 与我共享 csvFolder from pydrive auth import GoogleAuth from pydrive drive
  • 从 UWP 商店应用程序向多个收件人发送电子邮件

    我有一个简单的目标 即打开一封电子邮件 在 Outlook 2016 中 其中为 Windows 10 UWP 应用程序中的多个收件人配置了 收件人 字段 我尝试了3种方法 1 推荐的方式 如UWP示例中的demod 使用EmailMess
  • 如何在 React Native 博览会中使用可教学机器模型

    我正在使用可教学机器导出模型 const modelJson require assets models model json const modelWeights require assets models weights bin use
  • ReactJs componentDidMount 执行两次

    我正在研究 ReactJs 并遇到一些问题 我的问题是我有一个使用最新 ReactJs v 18 0 0 的简单应用程序 并且 componentDidMount 执行两次 为什么 index js import createRoot fr
  • 如何暂时放弃root权限?

    我正在开发一个以 root 身份运行的守护进程 但需要与用户调用 API 我检查了 API 代码 它使用getuid 来获取用户 如果 root 用户通过以下方式放弃权限setuid 无法恢复到root 如果调用 seteuid API 仍
  • Laravel - Jenssegers MongoDB 嵌套数组更新不起作用

    有人可以指出我的代码有什么问题吗 我正在尝试通过 Laravel Jenssegers 更新 MongoDB 中的嵌套数组 这是我的代码 update status Journal where id 5cd10b325586e9122761