title: Filter mongoengine query
body: <p>I have some trouble filtering on a query and I do not know why. All my other filters are working just fine.</p>
  
  <p>First of all I have an mongoDB collection with data looking like this:</p>
  
  <pre><code>_id: generated
  title: stringfield
  date: Datefield
  Responses: EmbeddedDocument 
      user: ReferenceField
      help: BooleanField
  </code></pre>
  
  <p>Current responses stored in DB (all with the same user):</p>
  
  <ul>
  <li>2 times with Responses.help = False</li>
  <li>2 times with Responses.help = True</li>
  </ul>
  
  <p>Now I want to know how many times a user has responded to questions:</p>
  
  <pre><code>@queryset_manager
  def responses_user(doc_cls, queryset):
      return queryset.filter(responses__user=current_user.id).count
  </code></pre>
  
  <p>The query above works, it gives back the correct amount of responses(4). Now I want to add a filter to it, because I want to know how many times te user responded with True. So the query becomes:</p>
  
  <pre><code>@queryset_manager
  def responses_user(doc_cls, queryset):
      return queryset.filter(responses__user=current_user.id, responses__help=True).count
  </code></pre>
  
  <p>Now I get a result I do not understand. Its gives me back 3. It should be 2. I do not understand two things about this:</p>
  
  <ol>
  <li>Why does it give back 3? Thats a really odd number</li>
  <li>Why doesn't my query work?</li>
  </ol>
  
  <p>FYI, the way I do the call is :</p>
  
  <pre><code>responses = Questions.responses_user()
  </code></pre>
  
  <p>So this can not be the problem I think</p>