Я пытаюсь вернуть все документы в моей коллекции, где
Fields.fields[x].subFields.field_1 = A
и
Fields.fields[x].subFields.field_2 = B.
Я могу сопоставить его, если подполя не существуют
например. с учетом документа
{
"_id" : "4",
"Fields" : { "_id" : "1",
"Type" : "Person",
"fields" : [{ "_id" : "1",
"Field_1" : "a",
"Field_2" : "b",
"Field_3" : "c"
}]
}
}
Я могу сопоставить это, используя
{
"Fields.fields" : { "$elemMatch" : { "Field_1" : "a",
"Field_2" : "b"
}
}
}
однако, если я толкну эти поля еще одно вниз по дереву, я не могу понять, как заставить его соответствовать.
{ "_id" : "10",
"Fields" : { "_id" : "1", "Type" : "Person",
"fields" : [{ "_id" : "1",
"subFields" : { "Field_1" : "a",
"Field_2" : "b",
"Field_3" : "c" }
}
}]
}
}
Я пытался без удачи
{
"Fields.fields.subFields" : { "$elemMatch" : { "Field_1" : "a",
"Field_2" : "b"
}
}
}
также пробовал
{
"Fields.fields" : { "$elemMatch" : { subFields: {"Field_1" : "a",
"Field_2" : "b"
}
}
}
}
Возможно ли это? Если так, как мне это сделать. У меня нет большого контроля над форматом документа, и я бы не стал его перебирать.