我是MongoDB的新手,我试图弄清楚如何在递归结构上进行查询,这意味着具有特定属性的对象X可以容纳对象X的列表,这是一个示例。在JSON中:
{
"type": "A",
"subtype": "A1",
"children": [
{
"type": "B",
"subtype": "B1"
},
{
"type": "B",
"subtype": "B2",
"children": [
{
"type": "D",
"subtype": "D1"
},
{
"type": "D",
"subtype": "D2"
}
]
},
{
"type": "C",
"subtype": "C1"
}
]
}
我需要弄清楚的查询是如何检查文档是否包含具有特定属性值的后代文档。这些是此类查询的示例:
“ type” =“ A”的文档是否包含“ type” =“ B”的文档(在该示例中,有2个子文档作为“ type” =“ A”的文档的直接子代) )
“ type” =“ A”的文档是否包含“ type” =“ D”的文档(我需要检查任何后代,在示例文档中,“ type” =“ A”包含一个“ type” =“ D”的孩子包含2个“ type” =“ D”的孩子,所以是的A包含D)。
结果可以是后代子文档或布尔值(如果查询找到具有该特定类型的任何后代,则为true。
是否正在MongoDB中检查类似的东西?谢谢。