Вполне вероятно, что можно как-то попроще это сделать - уж очень длинная строка группировки получается - но результат будет тем, что нужно :) В number будет храниться информация о количестве элементов массива labels.
По второму вопросу - db.коллекция.find({'access.quest': 3}) вернёт именно то, что вы хотите.
А по первому... можно более развёрнутый вопрос? Типа "у меня есть список документов, я хочу выдать название документа, его id и одновременно подсчитать количество элементов во вложенном массиве". А то пока первый ответ отвечает и на дополнительный вопрос с массивом labels :)
Вполне вероятно, что можно как-то попроще это сделать - уж очень длинная строка группировки получается - но результат будет тем, что нужно :) В number будет храниться информация о количестве элементов массива labels.