问题标签 [mongodb-update]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
40 浏览

javascript - 使用与搜索查询相同的路径更新 MongoDB 嵌套数组

我有以下问题,我想用路径 id.metadata.panels.items 更新一个文档,其中 panel 是一个数组,items 是一个数组。我的搜索查询查看项目并仅显示符合 metadata.panels.items.member.type: 'owner' 条件的项目 - 然后我想将 'owner' 更新为 'account'。

当我尝试更新与更新路径相同的搜索路径时,我收到一条错误消息:无法使用部分 metadata.panels.items.member.type 来遍历元素。

文件有自己的

我该如何解决这个问题?

我已经尝试使用嵌套的 forEach 语句遍历集合以遍历每个数组,但我不确定下一步该做什么。

示例文档结构:

预期结果:

0 投票
1 回答
275 浏览

mongodb - MongoDB - 将嵌套数组中的数据类型更新为字符串到数字不起作用

我试图更新 MongoDB 嵌套数组数据类型,它是更新的NaN值。你能帮帮我吗,任何人。谢谢

MongoDB数据:

这是我的 MongoDB 数据productqtydetails集。

Mongo Shell 脚本:

更新了 MongoDB 数据:

运行脚本后。我price : NaN知道它已更新。

0 投票
1 回答
49 浏览

node.js - Mongodb点符号不更新数组

我在使用 mongodb 的数组点表示法时遇到问题。

用户对象中的“基数”数组中有一组基数,我试图通过点表示法对其进行更新。更复杂的是,我将更新推送到函数数组中,并使用 Async 库调用它们。

我的结果如下:

我已经验证了 bases 数组存在于匹配 'id':baseOwner 的文档中。数组中确实存在元素零(这无关紧要,但它确实已经存在。)

当我将更新粘贴到控制台时,我得到了这个:

最后,我知道异步更新系统正在工作,因为在不包含点符号的情况下,更新会正确更改文档。

我假设我的点符号有问题,但我看不出是什么。

我犯了任何明显的错误吗?

0 投票
1 回答
444 浏览

java - 如何在 mongodb 上的对象中查找和更新嵌套数组元素

我在下面有一个集合。我正在尝试更新数组元素。

我正在尝试更新 lineItem _id 值是否为 1,然后转到规范列表并将特性值从 900 更新为 50,如果 specName 为“Model”,如您所见,_id 也是一个数组。

采集数据:

相关更新没有按我的预期工作。

编辑:每个 _id 都有一个规范数组。所以,我们需要找到_id,然后到_id数组下的spec,找到品牌并更新值。

0 投票
1 回答
48 浏览

mongodb - 即使没有匹配的文档,Mongodb 也无法验证

使用 mongo shell,我可以找到一个文档。

但是,在进行无操作更新时,没有匹配的文档,并且由于某种原因,在某个地方,文档验证失败。

这怎么可能?会发生什么?我错过了什么吗?

0 投票
2 回答
191 浏览

javascript - 如何更新 MongoDB 中字符串的子集?

我想更新 monogdb 中字符串的以下子集

我已经尝试过了,但它似乎不起作用:

有任何想法吗?

0 投票
0 回答
58 浏览

javascript - MongoDB:如何更新对象数组中的特定对象?

如果对象 id 不匹配,我需要在第一个对象更新中添加地址,然后插入地址数组。

我有嵌套对象,例如:{ _id: 122, nested: [ { _id: 1, name: 1 }, { _id: 2, name: 2 } ] }

我需要如果嵌套对象获取{ _id: 2, name: 2 }对象,那么它将像{ _id: 2, name: 5 }更改一样更新,否则像这样附加文档

{ _id: 123, nested: { _id:1, name: 1 }, { _id: 2, name: 2 }, { id: 3, name: 3 } ] }

0 投票
1 回答
157 浏览

mongodb - 根据另一个集合数据更新 mongo 字段

我正在寻找一种基于另一个集合的数据总和来更新字段的方法。

我尝试带上所有的饭菜,并使用 forEach 为每顿饭调用 Products 集合,测试它是否有效,但我有时间了。

我的目标是在下面执行类似这样的操作以获得所需的结果,但我得到“SyntaxError: invalid for/in left-hand side”。不能在 mongo 查询中使用 for in 吗?

在这种情况下,我也很难弄清楚如何使用聚合和查找,但没有成功。

有可能这样做吗?

示例 - 膳食文件

对于每顿饭,我需要使用“sku”字段在“产品”系列中查找其产品。然后我将总结所有产品的营养成分以获得膳食营养成分。

示例产品文档

我知道在这种情况下 mongo 可能不是最好的选择,但整个应用程序已经使用它构建了。

0 投票
1 回答
86 浏览

mongodb - MongoDB:在单个更新中更新外部数组和嵌套数组

集合中的文档结构cities是这样的

城市

现在当用户订阅如下

我想更新文档中的以下cities内容

  • 将“印刷杂志”的订阅者增加 1
    • 将“时间”的订阅者增加 1
    • 将“美食家”的订阅者增加 1
  • 将“RSS Feed”的订阅者增加 1
    • 将“政治”的订阅者增加 1
    • 将“创业”的订阅者增加 1

因此,当一个项目被订阅时,它的订阅者计数增加 1。它所属的类别,它的订阅者计数也增加 1。

我想在单个更新查询中实现这一点。任何提示我该怎么做?

用例详情

每个用户的订阅详细信息都存储在user_subscription_details集合中(此处未列出)。subscriptions属性 incities仅保存每个城市的订阅摘要。

0 投票
1 回答
24 浏览

mongodb - 通过“_id”更新集合中的查询

我需要更新"templateName" : "xyz"的基础上"_id" : "tenant/data/EMAIL/ENGLISH"

我已经尝试了这些查询,但没有成功

任何帮助将不胜感激。