title: specifying $push location in collection using Pymongo
body: <p>I'm wondering how to use $push in a collection where I have to specify which document I want to add information to.
  Please consider the following example:</p>
  
  <pre><code>student1 = {
           'name': 'Adam',
           'year': 'sophomore',
           'age': 20,
           'class':[
                    {
                    'className': 'cse131',
                    'time': '2:30',
                    'finalGrade': 'A'
                    },
                    {
                    'className': 'cse240',
                    'time': '9:30',
                    'finalGrade': 'B'
                      }
                    ]
         } 
  </code></pre>
  
  <p>If I wanted to update only the first document in the 'class' collection (the cse131 in 'class'), how would I use $push to do this? For example, if I wanted to change the 'time' or add a 'pass/fail' option?</p>
  
  <p>The push format I am currently using to add new documents to the collection looks like this:</p>
  
  <pre><code>classNameInput = str(input("Class name?: "))
  timeInput = str(input("Time of class?: "))
  finalGradeInput = str(input("Final grade in class?: "))
  collection.update(
  {
      'name' : 'Adam'
  },
  { 
      '$push': {
                'class':{
          'className' : classNameInput,
          'time': timeInput,
          'finalGrade': finalGradeInput
      }
                }
  },
  True)
  </code></pre>
  
  <p>I don't think this format would allow me to modify existing documents in a collection or push new field value pairs into existing documents in a collection. 
  Thanks in advance!</p>