title: Mongoengine: How to get one specific embedded document?
body: <p>How can I get one specific embedded document e.g. by ID with mongoengine?</p>
  
  <p>These are my models:</p>
  
  <pre><code>class Project(Document):
      project_name = StringField(unique=True, required=True)
      literature = ListField(EmbeddedDocumentField(Literature))
  
  class Literature(EmbeddedDocument):
      id = ObjectIdField(required=True, default=ObjectId,
                          unique=True, primary_key=True, sparse=True)
      title = StringField()
  </code></pre>
  
  <p>and I want to get a specific Literature Object e.g. by the id "2".</p>
  
  <p>I tried this: </p>
  
  <pre><code>literature = Project.objects(project_name=project_name).get(
          literature__id=2).literature
  </code></pre>
  
  <p>but this gives me all literature objects and not only the one with the ID "2"</p>
  
  <p>I've also  tried something like this:</p>
  
  <pre><code>literature = Project.objects.get(project_name=project_name).literature.filter(
          literature__id=2)
  </code></pre>
  
  <p>but this throws the error <code>AttributeError: 'BaseList' object has no attribute 'filter'</code></p>
  
  <p>so is there any way to get only that specific embedded document (literature with the ID= 2)? Dont know what else I could do</p>
  
  <p>Cheers </p>