title: Querying a Sequelize model to match multiple associations
body: <p>So I have two Sequelize models with this relationship:</p>
  
  <pre><code>models.Note.belongsToMany(models.Topic, {
   through: 'noteTopicRelation'
  });
  
  models.Topic.belongsToMany(models.Note, {
   through: 'noteTopicRelation'
  });
  </code></pre>
  
  <p>I can make a successful query to the Note model like so, getting all the Notes that belong to the Topic with the id of 2:</p>
  
  <pre><code>models.Note.findAll({
   include: [{
     model: models.Topic,
     through: 'noteTopicRelation',
   }]
   where: {
    '$topics.id$': 2
   }
  })
  </code></pre>
  
  <p>However, what if I only want a Note that has multiple specific Topics associated with it (i.e. a Note that is associated with Topics of ids 1, 4, 6)?</p>
  
  <p>I have tried adding this operator on my where:</p>
  
  <pre><code>where: {
  '$topics.id$': {$overlap: [1, 4, 6]}
  }
  </code></pre>
  
  <p>But getting an error:</p>
  
  <blockquote>
    <p>operator does not exist: uuid &amp;&amp; text[]</p>
  </blockquote>
  
  <p>Am I using <code>Op.overlap</code> incorrectly? Is there another way to achieve this result? Thank you!</p>
  
  <p><strong>EDIT:</strong> and just to clarify (sorry if this wasn't clear in my original post), I want to get the notes that are strictly associated with <em>all</em> of those Topics. Performing a <code>'$topics.id$': [1, 4, 6]</code> will get me notes that are associated with <em>any</em> of those Topics.</p>