title: Sequelize: find entries with no association
body: <p>Given the following simple models:</p>
  <pre><code>class A extends Model {}
  A.init({
      aField: DataTypes.STRING,
  }, { sequelize });
  
  class B extends Model {}
  B.init({
      bField: DataTypes.STRING,
  }, { sequelize });
  
  A.hasMany(B); // this creates the B.AId column
  
  
  // populate
  
  await A.create({
      aField: 'fooA',
      Bs: [{ bField: 'fooB' }]
  }, { include: [B] });
  
  await A.create({ aField: 'barA' });
  await A.create({ aField: 'bazA' });
  </code></pre>
  <p>I cannot figure out how to select the first A model instance that has no B entries.<br />
  The the previous case, return just <code>barA</code> and <code>bazA</code>.</p>
  <p>The following does not work, it returns <code>foo</code>:</p>
  <pre><code>await A.findOne({
      include: [{
          model: B,
          required: false,
          where: {
              'AId': null,
          }
      }],
  });
  </code></pre>
  <p>Generated query is: <code>SELECT A.*, Bs.id AS Bs.id, Bs.bField AS Bs.bField, Bs.AId AS Bs.AId FROM (SELECT A.id, A.aField FROM As AS A LIMIT 1) AS A LEFT OUTER JOIN Bs AS Bs ON A.id = Bs.AId AND Bs.AId IS NULL</code></p>