Фильтрация вложенных документов в MongoDB
У меня возникают проблемы с пониманием того, как фильтровать встроенные документы в MongoDB, и начинаю думать, что мне следует использовать реляционную ассоциацию, но это не так в контексте хранилища документов.
Придерживаясь типичной системы блогов / комментариев, у меня есть коллекцияblogs
и каждыйblog
имеет многоcomments
, Комментарии хранятся в виде вложенных документов внутри документа блога.
Это очень просто отфильтровать мойblogs
коллекция, но для того, чтобы отфильтровать мойcomments
встроен в каждыйblog
Мне приходится загружать их все в память (извлекать все в массив Ruby) и перебирать каждый комментарий, возвращая те, которые соответствуют определенным критериям.
Мои попытки отфильтровать внедренные документы с использованием точечной нотации не увенчались успехом и вернули все вложенные документы.
Есть ли лучший способ заставить MongoDB фильтровать их для меня, или я должен смириться с реляционными ассоциациями? (Вытягивание всех встроенных документов и ручная фильтрация будут слишком интенсивными в долгосрочной перспективе)