Se sua matriz sharedBy puder ter milhões de entradas, sugiro mudar a maneira como você rastreia 'compartilhado'. Adicione uma matriz, sharedPostIds, ao objeto user que contém uma lista de todas as postagens que o usuário compartilhou.
Para comparar números, se um usuário avançado compartilhar 10 posts por dia, seriam 3650 entradas/ano. Provavelmente não o suficiente para perceber ao enviar para o cliente.
Se você precisar garantir que os dados não sejam enviados ao cliente, você pode criar um método Meteor que faça pesquisas em lote de forma assíncrona.