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