anchor.diff:  }
   ----
   
  -
  -See the https://github.com/lambdamatic/lambdamatic-mongodb-citibikesnyc[NYC Bikes sample application] for more details.
  -
  -=== Projections
  -
  -In some cases, you may not want to retrieve all the documents'fields from MongoDB,
  -but just the ones you want to display in the UI. Lambdamatic supports `Projection`
  -as well, using the following syntax:
  +The `Location` class is a special data-type provided by Lambdamatic. It is converted
  +into a custom BSON document or query document.
  +
  +See the https://github.com/lambdamatic/lambdamatic-mongodb-citibikesnyc[NYC Bike Stations sample application] for more details.
  +
  +===== Combining Operators
  +
  +
  +===== Queries on Collections
  +
  +*TODO*
  +
  +===== Queries on Maps
  +
  +*TODO*
  +
  +
  +==== Projections
  +
  +In some cases, users do not want to retrieve all the documents'fields from MongoDB,
  +but only the ones that need to be processed in the business layer or displayed in the UI.
  +Lambdamatic supports projection as well, using the following syntax:
   
   [code,java]
   ----
  
positive.code: = Lambdamatic: Query MongoDB with Lambda Expressions
  
  == Status
  
  Prototype (with its share of missing features and bugs)
  
  
  == Project Configuration
  
  In your `pom.xml`, add the following dependency:
  
  [code,xml]
  ----
  <dependency>
    <groupId>org.lambdamatic</groupId>
  
negative.code:   @DocumentField
    private String stationName;
  
    @DocumentField(name="available")
    private int availableDocks;
  
    ...
  }
  ----
  
  if `@DocumentField` is missing, the class field is mapped to a document field
  with the same name. The `@DocumentField` `name` attribute may be used to customize
  the name of the field in the MongoDB document.
  
  Embedded documents (also called 'sub-documents') must be annotated with
  `@EmbeddedDocument`. The same rules for field annotations apply, except that
  the `@DocumentId` should not be used.
  
  A field annotated with `@TransientField` is not mapped and considered as `transient`
  during the encoding and decoding phases.
  
  From the class above, the Lambdamatic's annotation processor generates the following classes:
  
  - `com.example.domain.QBikeStation`
  - `com.example.domain.PBikeStation`
  