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