title: MongoClient Native FindAndModify "Need update or remove" Error
body: <p>My node.js client looks like this:</p>
  
  <pre><code>var MongoClient = require('mongodb').MongoClient;
  
  MongoClient.connect(mongoendpoint, function(err, db) {
          if(err) throw err;
          var collection = db.collection('test-collection');
  
          var ws = new WebSocket(websocket_Endpoint);
          ws.on('open', function() {
                  log.info('Connected.');
          });
  
          ws.on('message', function(data, flags) {
  
                  wsevent = JSON.parse(data);
  
                  var args = {
                          'query': {
                                  id: '1.2.3.4'
                          },
                          'update': {
                                  $set: {
                                          lastseen: "201405231344"
                                  },
                                  $addToSet: {
                                          record: "event123"
                                  }
                          },
                          'new': true,
                          'upsert': true
                  };
  
                  collection.findAndModify(args, function(err, doc){
                          log.info(err);
                  });
          });
  });
  </code></pre>
  
  <p>When I run this, I get the <strong>following error</strong>:</p>
  
  <pre><code>info:  name=MongoError, ok=0, errmsg=need remove or update
  </code></pre>
  
  <p>I can't figure out why.  I can run the exact same <code>args</code> json above using RoboMongo and the query works just fine.</p>
  
  <p><strong>Robomongo Query</strong></p>
  
  <p><code>db['test-collection'].findAndModify({"query":{"id":"1.2.3.4"},"update":{"$setOnInsert":{"lastseen":"201405231344"},"$addToSet":{"record":"event123"}},"new":true,"upsert":true});</code></p>
  
  <p>What am I missing?</p>