问题标签 [subdocument]

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 回答
5106 浏览

arrays - 推送到猫鼬子文档中的数组

我想推送到 Mongoose/MongoDB 中子文档内的数组。

这是架构:

我想将一个数组推送到UserSchema.tags特定users子文档的数组中。

我已经尝试过这个和几个变体:https ://stackoverflow.com/a/19901207/2183008


默认情况下,我的前端 Angular 应用程序将标签作为对象数组发送。所以是

但是我也尝试过使用字符串数组,如果对象由于某种原因出现问题,我可以这样做。


我试过这个:

这给了我这个错误:

0 投票
1 回答
876 浏览

json - MongoDB find() 在匹配(字段,值)时返回子文档

这是一个包含 2 个 json 文件的集合。我正在搜索一个特定字段:对象中的值,并且在匹配的情况下必须返回整个子文档(集合中的特定子文档必须从以下集合中的 2 个子文档中返回)。提前致谢。

0 投票
1 回答
656 浏览

mongodb - mongo db 添加来自另一个集合的子文档

我有两个收藏奖团队赢得了团队列表。我想将整个奖项作为子文档进行 ETL 到其他(团队)中,并进行一些小的转换,但我只从奖项中获得一个子文档到团队中。

这是我使用的代码。Teams 有一个唯一的数字索引,看起来像最终文档减去 accolade 子文档。但是,数组中只添加了一个 accolade 子文档。我错过了什么?

示例奖项(团队可以赢得多个奖项,荣誉是奖项的集合,以便以后汇总):

以下是仅添加一项荣誉的团队变成的样子:

我本来希望将两个荣誉添加到数组中。我是否需要将奖励对象 ID 携带到团队子文档中?

0 投票
2 回答
2858 浏览

node.js - 使用拉入猫鼬模型

这应该工作吗?我正在尝试following从模型中的文档 ( this) 中删除单个子文档 ( ) UserSchema

这些是模式:


用户控制器.js

用户模型.js

0 投票
1 回答
54 浏览

mongodb - 如何根据查询从子文档数组中更新子文档字段?

我需要更新上面的文档,条件是source.bookidisObjectId("552cd77e31456e192df6ad8e")并将特定文档字段更新isActivefalse. 所以,我需要的结果输出为

谁能告诉我,如何执行这个更新查询?并且是否可以检索子文档数组包含所有“isActive”为假的所有文档?

0 投票
1 回答
1590 浏览

arrays - 在 Mongodb 子文档数组中,有没有办法在每个子文档中添加一个新字段

假设我有一个像

我需要在每个子文档“状态”中添加一个新键:1,结果应该看起来像

我如何通过单个更新查询来做到这一点?

0 投票
0 回答
189 浏览

spring - 针对列表中的子文档优化 Spring MongoDB 查询

我的 Spring/Mongo 应用程序的查询性能很差,我有一个包含子文档列表的文档。我尝试添加复合索引来帮助处理特定查询,但是当我在子文档列表中搜索时,它们似乎没有多大帮助。一般来说,这只是一个坏主意(查询列表中的子文档),还是我可以做些什么来改进它?我尝试从 mmapv1 升级到wiredTiger 存储引擎,但发现对于相同的查询,wiredTiger 实际上慢了~30%。

我的理解是,我们的索引行数最终将是文档行 * 我们尝试使用复合索引索引的每个列表中的子文档数。这似乎不是最理想的,但想知道是否有某种方法可以优化它并且仍然将我们的子文档放在列表中。

Spring Mongo Document 类的伪/简化示例:

因此,MongoDB 文档看起来像这样:

查询示例:

我的下一个最佳解决方案是在列表中的每个子文档的文档根目录中直接放置一个字段,但这需要对我们的代码库进行痛苦且代价高昂的重构,之后文档将如下所示:

0 投票
1 回答
1455 浏览

node.js - Mongoose 不保存嵌套的子文档

我需要将一些子文档保存在架构中,该架构是架构的子文档。保存功能是这样的:

问题是顶级父模式(客户端)保存在 mongoldb 上,而两种类型的子文档没有。在 cliente.sedi 中,数组填充了 sede objectid,但在 mongoldb 上,sede 表不存在(对于 luoghi_consegna_sedi 也是如此)。如果我在将 sede 和 luoghi_consegna_sedi 推送到它们的数组之前手动保存它们,则会创建两个表并填充数据,但是如果我在 cliente.sedi 上运行 populate() 我会得到一个空数组。这 3 个模式是: 客户

赛德

洛吉康塞尼亚塞迪

0 投票
3 回答
687 浏览

mongodb - 子文档mongodb的动态大小

我正在为我的 Web 应用程序使用 mongodb 和 mongoose。该网络应用程序用于注册游泳比赛,每场比赛可以有 X 场比赛。我现在的数据结构:

这样做我需要确定和定义每场比赛的比赛次数。我尝试过的一个解决方案是拥有一个单独的文档并拥有一个比赛所属的比赛的 ID,如下所示。

有没有办法在使用 Mongodb 时创建和定义动态比赛数量作为子文档?

谢谢!

0 投票
1 回答
209 浏览

json - MongoDB过滤多个子文档

我在 mongo DB 中有一个这样的文档,我想过滤以仅显示活动的子文档:活动的汽车和活动的水果。

这是我想要的结果。

我已经尝试过Aggregate,但是当任何汽车或任何水果活跃时,它什么也没有返回。

有什么办法可以省略"active":false这些子文档中的子文档?