Consider I have a website where I\'ve got a bunch of articles and people can vote on the articles they like.
I want to be able to query to get the articles with the most
The schema you choose depends largely on your use-case..If you are expecting a lot of votes/comments and want to process them independently of the post they belong to, you might keep them in a separate collection with postID as the 'foriegn key'..However, if you want to load all the votes when you load a particular post and the votes in themselves don't have any meaning without the post that houses them, then go for the embedding (in your case, the first) approach.