title: Using upsert with push to an array option on Ruby driver
body: <p>I'm trying to do an upsert with ruby driver to mongodb.
  If the row exist I wish to push new data to and array, else create new document with one item in the array.</p>
  
  <p>When I run it on mongodb it looks like that:</p>
  
  <pre><code>db.events.update( { "_id" : ObjectId("4f0ef9171d41c85a1b000001")}, 
  { $push : { "events" : { "field_a" : 1 , "field_b" : "2"}}}, true)
  </code></pre>
  
  <p>And it works.</p>
  
  <p>When I run it on ruby it looks like that:</p>
  
  <pre><code>@col_events.update( { "_id" =&gt; BSON::ObjectId.from_string("4f0ef9171d41c85a1b000001")}, 
  { :$push =&gt; { "events" =&gt; { "field_a" =&gt; 1 , "field_b" =&gt; "2"}}}, :$upsert=&gt;true)
  </code></pre>
  
  <p>And it doesn't work. I don't get an error but I don't see new rows either.</p>
  
  <p>Will appreciate the help in understanding what am I doing wrong.</p>