Предположим, что существует индекс с документами следующей структуры:
{
"array": [
{
"field1": 1,
"field2": 2
},
{
"field1": 3,
"field2": 2
},
{
"field1": 3,
"field2": 2
},
...
]
}
Можно ли определить запрос, который возвращает документы, имеющие несколько уникальных значений для поля?
В приведенном выше примере запрос, выполняющий поиск по field2 , не будет возвращать документ, поскольку все имеют одинаковое значение, но при поиске по field1 вернет его, потому что он имеет значения 1 и 3.
Единственное, о чем я могу думать, - это сохранить уникальные значения в родительском объекте, а затем запросить его длину, но, как это кажется тривиальным, я надеюсь решить его, не меняя структуру на что-то вроде:
{
"arrayField1Values" : [1, 3],
"arrayField2Values" : [2]
"array": [
{
"field1": 1,
"field2": 2
},
{
"field1": 3,
"field2": 2
},
{
"field1": 3,
"field2": 2
},
...
]
}
Спасибо всем, кто может помочь!