我有一个带有嵌套对象数组的模型,这些对象本身也有一个嵌套数组作为其属性之一。如果模型数组中任何对象的嵌套数组之一为空,我想返回一个匹配项。
例如希望基于model.objects[0].attribute2
为空
model : {
objects : [
{attribute1: null,attribute2: []},{attribute1: 'hello',attribute2: [...more nested models]}
]
}
如果与非嵌套属性匹配,例如如果attribute1
中的任何一个为空,则此查询要匹配,则正确地匹配其中attribute1
之一的objects
的值为null
的记录:
{
"nested": {
"path": "objects","query": {
"bool": {
"must_not": [
{
"exists": {
"field": "objects.attribute1"
}
}
]
}
}
}
}
但是,如果我尝试使用attribute2
做同样的事情,那么它似乎根本什么都没有做,只是返回了所有文档。