С клиента на сервер передаю колонки которые я хочу получить в выборке, например ["CAMPANY", "SYMBOL", "LAST"], но mongo / mongoose могут вернуть их в любом порядке после select. Как сделать так чтобы результат возвращался в четко таком порядке?
Монго возвращает просто объекты, о каком порядке вообще речь? Приведите пример, где критично обращаться в результате по порядку, а не к названиям полей. Можно зафиксировать порядок полей в отдельном массиве, и таким образом обрабатывать.
Если я правильно понял вопрос, то тут дело не в mongo / mongoose. Дело в том, что в самом js нет ассоциативных массивов. Есть объекты и они не упорядоченные (вроде в V8 сортируются по алфавиту, но стандарт молчит по этому поводу). Если уже очень надо, то вы можете разбить полученный объект из базы на массив объектов "один ключ - значение" и упорядочить этот массив.