Я использую node-mongodb-native для запуска запросов mongodb с использованием узла js. Существует коллекция с названием «местоположения», которая имеет следующие поля:
sublocality1
, sublocality2
, sublocality3
, city
.
Я хочу получить общие отдельные значения из этих полей.
Например: Документы:
{
'sublocality1':'a',
'sublocality2':'a',
'sublocality3': 'b',
'city': 'c'
}
{
'sublocality1':'b',
'sublocality2':'a',
'sublocality3': 'b',
'city': 'a'
}
Запрос должен вернуться
['a' , 'b', 'c']
Я пробовал следующее:
Run distinct queries for each of the fields:
collection.distinct('sublocality1',..){},
collection.distinct('sublocality2',..){},
collection.distinct('sublocality3',..){},
collection.distinct('city',..){}
Вставьте результат этих запросов в список и найдите отдельные элементы в списке.
Могу ли я оптимизировать это? Можно ли запустить один запрос?