gpt4 book ai didi

MongoDB - 按子树查询

转载 作者:可可西里 更新时间:2023-11-01 10:07:33 27 4
gpt4 key购买 nike

我有一个与下面显示的简化版本相同的文档结构:

{
some_other_props: { ... },
systems: {
sys1: {
score: 24,
metric: 52
},
another_sys: {
score: 9,
metric: 77
},
some_other_sys: {
score: 12,
metric: 5
}
}
}

我想返回所有子文档的 score : { "$gte": 15 } 为 true 的文档。

我能想到的唯一方法是获取 system 中的键列表,并将其连接成某种 or 语句困惑。但我好像做错了什么。

我可以重新格式化文档结构,以便每个系统都在自己的文档中......但是 some_other_props 中还有很多其他信息,现在重新格式化会很痛苦。

事实上,我正在尝试做一些更复杂的事情。返回同一系统的scoremetric差异很大的所有文档。但在我这样做之前,我想确保我可以像上面所示那样对子树进行简单的查询。

谁能建议如何在 MongoDB 中查询子树?

最佳答案

您应该考虑将子文档存储为数组:

{
some_other_props: { ... },
systems:
[ {id: 'sys1',
score: 24,
metric: 52
},
{ id: 'another_sys',
score: 9,
metric: 77
}]

}

然后你可以直接查询find 'systems.score' : { '$gte' : 15 } ,如果你觉得需要也可以为'systems.score'建一个索引

关于MongoDB - 按子树查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com