我被困在一个无法构造查询的地方,该查询将帮助我查询实际上是对象列表的特定字段。 样本文件:
"sample_object" : {
"name" : "TRS",
"name_number" : 2096873,
"dob" : "2011-02-09",
"sample_nested_object_1" : {
"id" : 6,
"name" : "example name"
},
"sample_nested_object_list_1" : [
{
"id" : 15,
"number" : 12
},
{
"id" : 18,
"number" : 15
}
],
"sample_nested_object_list_2" : [
{
"id" : 2958179,
"name" : "example name 1",
"type" : "example type"
},
{
"id" : 2958180,
"name" : "example name 2",
"type" : "example type"
}
],
"sample_nested_object_2" : {
"id" : 4,
"name" : "sample name"
}
}
我已经成功进行了根据 名称 , 名称编号 , 进行过滤的查询dob 。
我必须根据前端应用的过滤器查询数据集。因此,我将收到 sample_nested_object_list_1 的 id 列表,并且必须找到 sample_nes(s)其中具有 sample_nested_object_list_1 并提供了 id 。还必须对 sample_nested_object 做同样的事情。
更新:
索引映射:
sample_object= {
'name': StringField(),
'name_number': IntegerField(),
'dob': DateField(),
'sample_nested_object_1': ObjectField(
properties={
'id': IntegerField(),
'name': StringField(),
}
),
'sample_nested_object_list_1': NestedField(
properties={
'id': IntegerField(),
'number': IntegerField(),
}
),
'sample_nested_object_list_2': NestedField(
properties={
'id': IntegerField(),
'name': StringField(),
'type': StringField(),
}
),
'sample_nested_object_2': ObjectField(
properties={
'id': IntegerField(),
'name': StringField(),
}
),
}
查询:
如果要检索 sample_object(s)的列表,我想不出如何构造查询,该列表的 id_sample_nested_object_list_1 分别为15、16和 sample_nested_object_1 ,其ID为6。