使用 mongoDB 中的新键更新对象数组

2024-02-10

与此类似question https://stackoverflow.com/questions/9209670/mongo-push-to-array-inside-array

翻阅数据集,我有类似的东西:

{
    'user_id':'{1231mjnD-32JIjn-3213}',
    'name':'John',
    'campaigns':
        [
            {
                'campaign_id':3221,
                'start_date':'12-01-2012',
            },
            {
                'campaign_id':3222,
                'start_date':'13-01-2012',
            }
        ]
}

我想在其中添加一个新密钥campaigns像这样:

{
    'user_id':'{1231mjnD-32JIjn-3213}',
    'name':'John',
    'campaigns':
        [
            {
                'campaign_id':3221,
                'start_date':'12-01-2012',
                'worker_id': '00000'
            },
            {
                'campaign_id':3222,
                'start_date':'13-01-2012',
                'worker_id': '00000'
            }
        ]
}

How to insert/update对象数组中的新键?
我想向数组内的每个对象添加一个新键,默认值为00000.

我努力了:
db.test.update({}, {$set: {'campaigns.worker_id': 00000}}, true, true)
db.test.update({}, {$set: {campaigns: {worker_id': 00000}}}, true, true)

有什么建议么?


我假设这个操作只会发生一次,所以你可以使用脚本来处理它:

var docs = db.test.find();
for(var i in docs) {
    var document = docs[i];

    for(var j in document.campaigns) {
        var campaign = document.campaigns[j];
        campaign.worker_id = '00000';
    }

    db.test.save(document);
}

该脚本将迭代您集合中的所有文档,然后迭代每个文档中的所有营销活动,并设置 *worker_id* 属性。 最后,每个文档都会被持久化。

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

使用 mongoDB 中的新键更新对象数组 的相关文章

  • 更新插入不适用于 updateOnebulkWrite v3.4

    我正在尝试批量写入一些更新 除了更新插入之外的所有内容都正常 我的代码完美地更新了所有项目 并且没有给出任何错误 这里的问题是批量插入updateOne没有更新插入 这是我的代码的未经测试和缩短的示例 因此您可能会发现一些语法错误 希望您明
  • 将图像文件存储在猫鼬模式的二进制数据中并以html形式显示图像

    我正在使用 Express Node js 和 Mongodb 创建上传和显示图像文件的网页 我使用 schema 将图像的二进制文件保存在 mongodb 中 这是我在index js和db js中的一点代码 var Post mongo
  • MySql:将多项选择数据存储在数据库中

    我的表单中有一个复选框列表 用户可以选择其中任何一个 也可以选择全部 认为用户选择他感兴趣的运动类型 我需要最好的数据库结构来存储这个用户选择 这样 将来我就可以获得所有这些数据 我想 我无法将每个 用户 ID 运动 选择作为新行存储在数据
  • MongoDB - 解释特定的解释输出

    我使用的是 MongoDB 版本 2 4 8 test 2014 03 25 14 42 13 0 gt gt gt db users getIndexes v 1 key id 1 ns test users name id v 1 ke
  • mongodb 查询 DBRef 类型

    如何在 mongodb shell 中将此查询转换为有效的 mongodb 查询 cars owner ref users cars owner这里是一个 DBRef 但是 ref是无效的 我收到此错误 err Positional ope
  • 如何将数据插入 Microsoft Access 数据库?

    我正在尝试将数据插入 Microsoft Access 数据库 我将数据插入到 Access 数据库中 但只有第一次和第二次显示我插入的数据 当我重建应用程序时 我插入的数据消失了 我不知道他们去了哪里并且没有出现 我使用 C 和 NET
  • 从数组中查找前 N 个条目

    我的收藏结构如下 id 1 Trips EndID 5 Tripcount 12 EndID 6 Tripcount 19 id 2 Trips EndID 4 Tripcount 12 EndID 5 Tripcount 1
  • MongoDB C# 驱动程序“找不到光标”

    我有一个相当密集的操作MongoCursor循环运行几个小时 在通过 c 驱动程序运行的 vb net 应用程序上 我不太确定是什么导致了它 但一段时间后我遇到了异常 Cursor not found 这可能是由于游标超时造成的 有什么办法
  • MongoDB 如何使用 $date 运算符进行查询?

    编辑 上下文 我正在使用 Talend ETL 工具 并在查询中使用 ISODate 或 Date 或 new Date 如下所示失败并出现错误 因此我需要解决方法 dt ISODate 2014 01 01 dt Date 2014 01
  • Inno Setup安装先决条件[重复]

    这个问题在这里已经有答案了 我正在通过 Inno Setup 创建一个安装程序 我看到很多关于如何检测先决条件是否存在的代码示例 但没有任何关于当我找不到先决条件时如何实际安装先决条件的代码示例 我确信它非常简单 但是我该如何安装先决条件呢
  • 使用 Javascript 和 Mongodb 对时间序列数据重新采样

    时间序列数据的数据集需要从具有不规则时间间隔的数据集转换为规则时间序列 可能使用插值和重采样 蟒蛇的pandas Dataframe resample http pandas pydata org pandas docs stable ge
  • Mongoose 限制/偏移量和计数查询

    查询性能有点奇怪 我需要运行一个查询来计算文档总数 并且还可以返回一个可以限制和偏移的结果集 所以 我总共有 57 个文档 用户想要 10 个文档偏移 20 我可以想到两种方法来做到这一点 首先是查询所有 57 个文档 以数组形式返回 然后
  • MongoDB 在仅返回 _id 时使用 COLLSCAN

    我想返回 MongoDB 集合中的所有 ID 我使用了以下代码 db coll find id 1 但MongoDB扫描整个集合而不是从默认读取信息index id 1 从日志中 find collection filter project
  • 加密 mongodb 中的密码字段

    我有以下代码 它插入userName and password进入数据库 但密码以纯文本格式存储 我的意思是 当我查看数据库时 我可以看到插入的密码 我想存储password in encrypted format MongoClient
  • 当字段不为空时创建部分索引

    我正在尝试在字段上创建部分索引 但仅当该字段不为空时 换句话说 我希望能够让许多文档能够存储 null 但对于在字段中实际具有值的文档 我希望该值是唯一的 这是我尝试使用的代码 db account createIndex email 1
  • 在 MongoDb 上序列化仅获取属性

    使用 C 6 我可以写 public class Person public Guid Id get public string Name get public Person Guid id string name Id id Name n
  • 嵌入文档中的mongodb限制

    我需要创建一个消息系统 一个人可以在其中与许多用户进行对话 例如 我开始与 user2 user3 和 user4 交谈 因此他们中的任何人都可以看到整个对话 并且如果对话在任何时候都不是私密的 则任何参与者都可以将任何其他人添加到对话中
  • 使用 AWS MSK 连接器连接到 AWS VPC 内的 MongoDB atlas

    我正在尝试使用MongoDB使用更改流Kafka 我选择 AWS MSK 是因为我的整个基础设施都位于 AWS 内 并且可以轻松与其他 AWS 服务集成 I created an AWS MSK cluster within the VPC
  • Node.js 重用 MongoDB 参考

    我无法理解 Node js 例如 MongoDB 访问 这是我得到的 mydb js var mongodb require mongodb server new mongodb Server staff mongohq com 10030
  • Mysql获取特定表的最后一个id

    我必须从特定的插入表中获取最后的插入 ID 可以说我有这个代码 INSERT INTO blahblah test1 test 2 VALUES test1 test2 INSERT INTO blahblah2 test1 test 2

随机推荐

  • 如何在两个片段之间切换,而不需要每次都重新创建片段?

    我正在开发一个 Android 应用程序 它使用导航抽屉在两个片段之间切换 然而 每次切换时 片段都会完全重新创建 这是我主要活动的代码 The click listener for ListView in the navigation d
  • 如何在 Visual Studio Community 2013 中创建 ASP.NET MVC 5 Web 应用程序?

    我尝试在全新安装 Visual Studio Community 2013 后启动 MVC 5 项目 但是当我转到 新建项目 gt 模板 gt Visual C gt Web gt Version2012 我在中间窗格中看到的只是 ASP
  • 传递给模板函数的两个 lambda 使得参数的类型推导不明确——为什么?

    我有一个模板 如果我向它传递一个 lambda 它就可以工作 但是在一个将两个 lambda 映射到同一模板化类型的相关模板中 它无法推断出该类型 并且 MSVC Express 2013 抱怨模板参数不明确 首先要明确的是 这里没有发生重
  • 找到坐标 x 和 y 列表的优化位置

    我是编程新手 尤其是Python新手 但我正在努力学习它 到目前为止我发现它非常令人着迷 我有一个包含 30 个固定坐标 x 和 y 的列表 x np array 13 10 12 13 11 12 11 13 12 13 14 15 15
  • UIButton 状态已选择

    我看过很多有关更改所选按钮图像的信息 但作为新人 我在实现更简单的版本时遇到了一些麻烦 当按下按钮时 它会变暗 我希望它在被选择后保持这种状态 所以有几个问题 我是否为按钮创建 IBOutlet 然后使用 IBAction 来更改状态 例如
  • 从 pandas dropna 中排除特定列

    我有一个数据框 我想删除除特定列之外的所有列中的值 NA 在本例中为 V1 df V1 V2 V3 V4 A 10 20 NA B NA NA NA C 5 20 3 D 15 20 4 E NA 10 5 output V1 V2 V3
  • Node dotenv 不适用于 pm2

    我有一个应用程序 其中本地 没有 pm2 所有环境变量 env使用文件工作得很好dotenv 但在我使用的服务器上pm2要运行应用程序 环境变量仍然存在undefined 我用来在服务器上运行应用程序的 pm2 命令是 pm2 start
  • 无法激活机架(〜> 1.4.0,运行时)已激活机架1.5.0

    我已经寻找这个问题的答案一天多了 并彻底搜索了 StackOverflow 我了解正在发生的冲突 我应该卸载不需要的 Rack 版本 但事情是这样的 我正在Koding上开发 http koding com http koding com
  • 对于日期序列化:从 JAXB2 到 jackson-dataformat-xml 的 @XmlJavaTypeAdapter 的等效注释是什么?

    我有一个 Spring Web 应用程序4 3 6版本 在某种程度上 它可以与 XML 和 JSON 一起使用 对于 Json 我使用 Jackson 对于 XML 我曾经使用过JAXB2 但不再是因为它不支持通用集合 通用集合表示如下 p
  • 是否有“max”函数和分组的替代(聚合操作的性能优化)?

    我有一个很大的查询 它也返回很大的响应 查询如下所示 SELECT group subgroup max last update FROM SELECT a as group a1 as subgroup d1 as last update
  • 如何在覆盖它的网页上恢复console.log?

    Twitter 的网站做了类似的事情 console log function 将浏览器的内置console log方法进入无操作状态 有办法恢复原来的功能吗 除非他们也在原型中删除了它 否则得到log方法使用getPrototypeOf
  • TFS-SDK:合并不起作用

    作为更大实现的一部分 我尝试使用 TFS SDK 实现源代码控制分支 文件夹的合并操作 我正在针对 TFS2010 安装进行工作 我所拥有的是这样的 using System using Microsoft TeamFoundation C
  • 信息窗口不是中心位置 Android Google 地图 v2

    我在 Google 地图 v2 上的信息窗口上遇到问题 信息窗口位于标记左侧 此问题仅在 Samsung Galaxy S4 上重现 我安装了Google Api Demo 重现了 这是错误吗 如何修复它 我已在地图 v2 跟踪器上提交了此
  • dplyr 和多重线性模型

    我正在尝试使用运行大量回归dplyr对于个人 ID cusip 和年份 fyear 但我不知道如何利用summary功能 我需要运行模型 获取系数 将它们加在一起 然后mutate结果到另一个变量beta 这是一些代码 虽然不起作用 但可以
  • XDocument 文本节点换行

    我正在尝试使用以下命令将换行符插入文本节点XText来自 Linq XML 命名空间 我有一个包含换行符的字符串 但是我需要弄清楚如何将它们转换为实体字符 即 10 而不是仅仅让它们作为新行出现在 XML 中 XElement elemen
  • 如何在 C# 中获取给定服务的子进程列表?

    我有一个创建许多子进程的服务 使用 c 我需要确定当前正在运行的这些子进程的数量 例如 我有一个名为 TheService 的服务正在运行 这会产生 5 个子进程 全部称为 process exe 是否可以确定服务下运行的子进程的数量 本质
  • Javascript正则表达式:如何将变量放入正则表达式中? [复制]

    这个问题在这里已经有答案了 例如 function input var testVar input string string replace ReGeX testVar ReGeX replacement 但这当然行不通 有什么办法可以做
  • 使用 SHOW_AS_ACTION_WITH_TEXT 时,项目标题未以纵向显示

    在我的活动中 我有一个带有单个项目的操作模式 该项目具有标题和图标 我希望同时显示标题和图标 因此我使用 SHOW AS ACTION WITH TEXT 和 SHOW AS ACTION ALWAYS 标志 横向的话 没问题 我有标题 图
  • 使用 Log4J 记录 Spring bean 初始化

    当我运行我的应用程序时 它会在 bean 初始化时停止 但不显示任何日志条目 所以我不知道发生了什么 Log4j properties log4j rootLogger DEBUG stdout R log4j appender stdou
  • 使用 mongoDB 中的新键更新对象数组

    与此类似question https stackoverflow com questions 9209670 mongo push to array inside array 翻阅数据集 我有类似的东西 user id 1231mjnD 3