如何将新项目推送到对象内部的数组

2023-12-13

我的 JSON 目前看起来像这样:

{
    "_id" : 393,
    "item" : 34,
    "comments" : [
        {
            "name" : "kevin",
            "messages" : [
                "item",
                "item"
            ]
        },
        {
            "name" : "ryan",
            "messages" : [
                "item",
                "item"
            ]
        }
    ]
}

如何将新项目推送到注释数组中第一个或第二个项目的消息数组中?

db.newcon.update({_id: 393}, { $push: { comments['kevin']: {messages: 39 }   }  })

Using $elemMatch and $操作员您可以更新您的文档检查以下查询:

db.collectionName.update({"_id":393,"comments":{"$elemMatch":{"name":"kevin"}}},
                         {"$push":{"comments.$.messages":39}})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将新项目推送到对象内部的数组 的相关文章

随机推荐

  • AJAX Accordion 在页面加载时展开所有面板

    我正在使用 ASP NET AJAX 手风琴 http www asp net ajaxlibrary AjaxControlToolkitSampleSite Accordion Accordion aspx 有没有办法在页面加载时展开所
  • 使用 Spring.Net 属性注入数组

    我一直在使用 Spring Net IoC 容器 并且可以使用它来注入类型的属性IList乃至IList
  • 多次处置物体

    我有以下代码 它使用流来打开和修改 Open XML 文档 然后保存该流的新二进制表示形式 MemoryStream stream null try stream new MemoryStream stream Write this Get
  • 为什么我的 Linux 编译的二进制文件在 Windows 上运行时无法运行?

    我有一个使用 C 和 Gtkmm 的非常简单的代码 include
  • 当 Pageant 完成加载 SSH 密钥时运行批处理文件

    我编写了两个批处理文件 一个用于启动 Pageant 并加载我的密钥 另一个用于将一些文件 ssh 到远程服务器上 单独来看 这些脚本运行得非常完美 我试图将它们组合成一个批处理文件 但我无法让它工作 这是脚本 实际上每个脚本只有一行 要启
  • iOS 应用 Display Recorder 如何在不使用私有 API 的情况下录制屏幕?

    iOS 应用程序显示记录仪声称能够录制 iOS 设备的屏幕 即使它在后台 鉴于UIGetScreenImage 是私有 API 当 Apple 运行的静态分析检测到时 将导致应用程序提交被拒绝 他们是如何在已批准的应用程序中进行此记录的 此
  • 错误:“x”未定义

    我在运行 Octave 函数 ODE 时遇到问题 我已经尝试过针对此问题的现有解决方案 但没有任何效果 我也尝试过将文件名另存为egzamin m但它也不起作用 来自八度的代码 function dx egzamin x t dx zero
  • 我可以合法地将成员函数指针转换为函数指针吗?

    我继承了一些 C 代码 并且负责消除警告 这里我们有一个成员函数指针被转换为函数指针 我知道成员函数指针与函数指针 不同 因为在幕后有一个隐式的 this 参数 然而 我的前任似乎已经明确地利用了这一事实 通过从成员函数指针转换为插入了附加
  • 如何更快地从 Selenium WebElement 获取值?

    这是我从 Selenium WebElement 获取值的测试代码 import java util List import org apache commons lang3 ObjectUtils Null import org open
  • java中从mysql存储过程中获取参数

    我在从 java 中的 mysql 存储过程检索 OUT 参数时遇到问题 CALL proc after topic add newtest result SELECT result 这个查询给了我想要的输出参数 但我如何在java中检索它
  • ASIHTTPRequest,请求完成时 EXC_BAD_ACCESS

    我正在尝试使用 ASIHTTPRequest 执行异步请求 但在请求完成时收到通知时遇到一些问题 void doDownload NSURL url NSURL URLWithString http www someurl com ASIF
  • 模板中的变量包含模板

    我试图将值放入 标题 模板中 例如标题和导航链接 但无法访问我从包含的模板发送到主模板的变量 渲染模板 templateName index args map string string Title Main Page Body This
  • 如何为 PHP 文件启用 mod_deflate?

    我有一个 Liquid Web VPS 帐户 我已确保 mod deflate 已安装并正在运行 活动 我曾经通过 PHP 来 gzip 我的 css 和 js 文件 以及我的 PHP 文件本身 但是 我现在尝试通过 mod deflate
  • 更改数字精度

    例如 您将如何更改数字的精度 float n 1 2345并将其存储回变量 n 并将其更改为1 23 float n 1 2345 int scaled n 100 n static cast
  • 修复 go 使用的工具版本

    我希望用 go 创建可重复的构建 对于个别项目 我们使用 glide 例如我使用 glide get github com stretchr testify 修复 testify 包的版本 然而 这不适用于工具 例如 glide insta
  • 使用 Application.FileDialog 选择文件夹

    我使用 Application FileDialog 让用户选择一个文件夹 如下所示 Dim F As FileDialog Set F Application FileDialog msoFileDialogFolderPicker 在这
  • 将 PostCSS 更新到 React 版本 8 后应用程序无法运行

    当我在我的应用程序中工作时 我注意到我有 80 个漏洞 主要是因为同行版本 比如一个要求 React 16 8 0 而我有 17 0 1 之类的东西 但另一个说 Moderate Regular Expression Denial of S
  • 在 FireFox/Greasemonkey 中使用 JavaScript 发送全局击键

    我目前有一个 GM 脚本 可以捕获击键并以编程方式单击网页上的元素 但是 这仅在页面 选项卡具有焦点时才有效 有什么方法可以捕获第二个页面 选项卡中的击键并将单击应用于第一个页面 选项卡上的元素吗 我知道我可以通过在 JavaScript
  • xampp 1.7.4 + winxp + eclipse

    我下载了最新的 Xampp 版本 1 7 4 在 Windows XP 下安装它 禁用防火墙并根据 eclipse 安装说明配置 php ini 和 eclipse 当在 eclipse 内部和外部运行 phpinfo 函数时 我看到 Xd
  • 如何将新项目推送到对象内部的数组

    我的 JSON 目前看起来像这样 id 393 item 34 comments name kevin messages item item name ryan messages item item