Как организовать поиск вложенных документов в Mongoose?
Здравствуйте.
Учусь использовать nodejs, mongoDB, mongoose, пока - исключительно в целях расширения кругозора.
Решил опробовать вложенные документы и столкнулся с проблемой.
Существует объект пользователя, в котором есть множество статичных полей, методов и поле data, представляющее собой массив из вложенных документов. В массиве data планируется хранить вообще всю информацию о пользовательских действиях - просмотры страниц, ссылки на загруженные файлы, комментарии, сообщения и т.д. В общем - поле data будет состоять из тысяч, десятков тысяч документов для каждого документа пользователя.
Возникает вопрос: каким образом отобрать из поля data для конкретного пользователя необходимые документы (например все документы, у которых поле 'type': 'message')?
Из отсутствия в мануалах mongoose нормального описания поиска по вложенным документам (за исключением поиска по id) у меня сложилось мнение, вложенные документы сделаны вовсе не для такого использования. Подскажите, предложенный выше способ действительно неэффективен?
И в случае если это неэффективно, мне потребуется для каждого пользователя создать коллекцию, содержащую нынешний объект data. Подскажите, как это сделать средствами mongoose?