`
{
"sections": [
{
"desc": "no flow ID",
"sectionObj": [
{
"smartFlowIdList": []
}
]
},
{
"desc": "has flow ID",
"sectionObj": [
{
"smartFlowIdList": [
"smartFlowId1",
"smartFlowId2"
]
}
]
]
}
// Query document to see if any of the sections[].sectionObj[].smartFlowIdList has at least a flowId1
// in this case: it is True since [ "smartFlowId1", "smartFlowId2" ] exits
`
我需要使用MongoDB shell命令查询此文档。
我已经尝试过查看$[]、$all和挖掘mongo文档,但似乎都没用。任何想法都是赞赏,谢谢!
一种选择是每个嵌套级别迭代两次,并计算最后一个嵌套级别中的项目。$match
计数大于 0 的文档:
db.collection.aggregate([
{$match: {$expr:
{$gt: [
{$sum: {$map: {
input: "$sections",
as: "external",
in: {$sum: [
{$reduce: {
input: "$$external.sectionObj",
initialValue: 0,
in: {$sum: ["$$value", {$size: "$$this.smartFlowIdList"}]}
}
}
]
}
}}},
0
]}
}}
])
看看它是如何在操场上工作的例子
我问了这个问题作为对另一个问题的评论,也在mongodb-user上发布了一个问题。到目前为止没有回复,所以我求助于问一个单独的问题。 文件说明: 如果字段包含一个数组,则$in操作符选择其字段包含数组的文档,该数组至少包含一个与指定数组中的值匹配的元素(例如,等等) 我正在使用: 在MongoDB外壳中: 下面是应根据文档及其生成的结果工作的查询列表: 为什么这个不行? 为什么我需要所有的钱?
我试图用C#在MongoDB中用嵌套数组文档实现文本搜索功能。我有一个以下格式的MongoDB集合。
如何根据数组的嵌套数组中的两个值参数进行查询?目标是返回具有和。 尝试了以下查询但没有成功。
我需要有关嵌套对象数组的查询优化的帮助。 我们有大量文档的集合,每个文档都包含嵌套的对象数组,最高可达3rd级,如下所示: 集合名称:产品 收集文件总数:2000万 每个文档的大小: 我为我的产品集合添加了以下索引,如下所示:, > products.id索引 { “id”:1 } 嵌套数组文档的索引 { " products . sellers . seller _ id ":1 } 我的疑问:
本文向大家介绍使用MongoDB查询特定嵌套文档的对象数组,包括了使用MongoDB查询特定嵌套文档的对象数组的使用技巧和注意事项,需要的朋友参考一下 要查询对象数组中的嵌套文档,请使用find()。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是如何查询对象数组以获取特定的嵌套文档- 这将产生以下输出-
问题内容: 我对mongodb还是很陌生,有一件事我现在无法解决: 假设您有以下文档(简体): 哪个查询将返回json-object,其值等于“ value2”? 这意味着,我需要这个json-object: 当然,我已经尝试了很多可能的查询,但是没有一个返回正确的查询,例如 有人可以帮我看看我在做什么错吗? 谢谢! 问题答案: 使用位置运算符 输出量 使用聚合 输出 使用Java驱动程序 输出