我有一个Document,其中还包含子文档列表,如下所示: -
{
"pf1":"data1",
"pf2":"data2",
"path":"1.parent",
"_childDocuments":[
{
"cf1":"data101",
"cf2":"data102",
"path":"2.child"
},
{
"cf1":"data111",
"cf2":"data112",
"path":"2.child"
}
]
}
我想查询cf1
具有值data101
的子文档。这意味着我的输出将是这样的。
{
"pf1":"data1",
"pf2":"data2",
"path":"1.parent",
"_childDocuments":[
{
"cf1":"data101",
"cf2":"data102",
"path":"2.child"
}
]
}
我无法为此生成查询。 有什么方法可以查询子文档,也可以获取那些包含我的结果的孩子吗?
提前致谢
答案 0 :(得分:0)
是的,你可以在ChildDocTransformer
的帮助下做到这一点您现在应该对父文档进行正常查询,例如:
q=pf1:data1
并在字段列表参数中应用变换器:
fl=pf1,pf2,path,[child parentFilter=type:parent childFilter=cf1:data101]
您需要仔细选择parentFilter,因为您将在那里使用的查询应该只匹配父文档。因此,在我的示例中,type:parent
只是一个占位符,您应该根据您的数据提出查询(可能您甚至应该添加一些字段类型以便于区分)