title: How to store User interactions related to a post in terms of optimum performance in MongoDB?
body: <p>The most frequent query is going to be about How the Human Interacted with the post like did he liked it or not, how many times the Post was on the newsfeed and at what times the post was on the newsfeed of the user and not about the post itself like how many likes or comments.
  So keeping this requirement in mind How should I Design the database schema to keep the Database Normalized &amp; Performance simultaneously?</p>
  <p>Option 1: In the same collection where Posts and captions related to the posts are stored. In an embedded document. A List of all the users who liked the post, a list of all the users who marked it interested, a list of all the users who shared the post, etc.</p>
  <p>Option 2: A Dynamic Collection that will store the reference to the post for every post on the user's newsfeed and all the interactions related to that post.</p>
  <p>And What's the right choice of ODM: Should I use PyMongo or MongoEngine to Query References to another document?</p>