title: Sails.js / Waterline .add() and .remove() only works on second call
body: <p>I'm trying to use a Many-to-Many association between 2 models and I have to call .add() or .remove() twice for it to work properly:</p>
  
  <pre><code>// User.js Model
  module.exports = {
    attributes: {
      connections: {
        collection: 'connection',
        via: 'users'
      }
    }
  }
  
  // Connection.js Model
  module.exports = {
    attributes: {
      users: {
        collection: 'user',
        via: 'connections'
      }
    }
  }
  </code></pre>
  
  <p>This is the code I have in my UsersController.js:</p>
  
  <pre><code>    User.findById(req.params.user)
      .populate('connections')
      .exec(function(err, users) {
        if (err) return res.status(404).end(); // Not really a 404 but good for now
  
        var user = users[0];
        user.connections.add(req.body.connection_id);
        user.save(function(err) {
          // In my tests err is null/undefined
          return res.status(204).end();
        }
      });
  </code></pre>
  
  <p>I get a 204 back with no errors in the log or nothing else failed. When I check in my MongoDB database, the user's connections field is just an empty array. If I send the same request again, then I get a an error saying the connection_id already exists for that user. I look into the database, and now the connection appears in the user's connections field. It does the same thing when I remove a connection, I have to send it twice for it to take effect. Anyone have any ideas?</p>
  
  <p>Here are the module versions I'm using:</p>
  
  <ul>
  <li>Node.js version: 0.12.0</li>
  <li>Sails.js version: 0.11.0</li>
  <li>sails-mongo version: 0.10.5</li>
  </ul>