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 嵌套数组更新不起作用 的相关文章

随机推荐

  • 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