public static function where(
        array $query = [],
        array $projection = [],
        bool $useCache = false
    ) {
        return self::getDataMapperInstance()->where(
            $query,
            $projection,
            $useCache
        );
    }
public static function where(
        array $query = [],
        array $projection = [],
        bool $useCache = false
    ) {
        return self::getDataMapperInstance()->where(
            $query,
            $projection,
            $useCache
        );
    }
public static function where ( array $ query = [ ] , array $ projection = [ ] , bool $ useCache = false ) { return self :: getDataMapperInstance ( ) -> where ( $ query , $ projection , $ useCache ) ; }
Gets a cursor of this kind of entities that matches the query from the
database.

@param array $query      mongoDB selection criteria
@param array $projection fields to project in Mongo query
@param bool  $useCache   retrieves a CacheableCursor instead

@return \Mongolid\Cursor\Cursor
Gets a cursor of this kind of entities that matches the query from the database .