code: function( key, geojson, layerId, callback ){
      var self = this;
      var info = {},
        count = 0;
        error = null;
  
        info.name = geojson.name ;
        info.updated_at = geojson.updated_at;
        info.expires_at = geojson.expires_at;
        info.retrieved_at = geojson.retrieved_at;
        info.status = geojson.status;
        info.format = geojson.format;
        info.sha = geojson.sha;
        info.info = geojson.info;
  
        var table = key+':'+layerId;
  
        self._createTable( table, self._buildSchemaFromFeature(), function(err){
  
          // insert each feature
          if ( geojson.length ){
            geojson = geojson[0];
          }
          geojson.features.forEach(function(feature, i){
            self._run(self._insertFeature(table, feature, i), function(err){
            });
          });
  
          // TODO Why not use an update query here?
          self._run( 'delete from "'+self.infoTable+'" where id=\''+table+':info\'', function(err){
            self._run( 'insert into "'+self.infoTable+'" values (\''+table+':info\',\''+JSON.stringify(info).replace(/'/g,'')+'\')', function(err){
              callback(err, true);
            });
          });
        });
  
    }
docs: create a collection and insert features create a 2d index