docs: function get_database(Socket, DatabaseType) {
  	return {
  
  		//------------------------------------------
  		Count: function(Collection, Query, callback) {
  			if (typeof callback !== 'function') { throw Error('The callback function is a required parameter for Count.'); }
  			do_database_call(Socket, DatabaseType, {
  					collection: Collection,
  					operation: 'Count',
  					query: Query
  				},
  				callback);
  			return;
  		},
  
  		//------------------------------------------
  		Find: function(Collection, Query, Projection, callback) {
  			if (typeof callback !== 'function') { throw Error('The callback function is a required parameter for Find.'); }
  			do_database_call(Socket, DatabaseType, {
  					collection: Collection,
  					operation: 'Find',
  					query: Query,
  					projection: Projection
  				},
  				callback);
  			return;
  		},
  
  		//------------------------------------------
  		FindOne: function(Collection, Query, Projection, callback) {
  			if (typeof callback !== 'function') { throw Error('The callback function is a required parameter for FindOne.'); }
  			do_database_call(Socket, DatabaseType, {
  					collection: Collection,
  					operation: 'FindOne',
  					query: Query,
  					projection: Projection
  				},
  				callback);
  			return;
  		},
  
  		//------------------------------------------
  		Insert: function(Collection, Query, Options, callback) {
  			if (typeof callback !== 'function') { throw Error('The callback function is a required parameter Insert.'); }
  			do_database_call(Socket, DatabaseType, {
  					collection: Collection,
  					operation: 'Insert',
  					query: Query,
  					options: Options
  				},
  				callback);
  			return;
  		},
  
  		//------------------------------------------
  		Remove: function(Collection, Query, Options, callback) {
  			if (typeof callback !== 'function') { throw Error('The callback function is a required parameter Remove.'); }
  			do_database_call(Socket, DatabaseType, {
  					collection: Collection,
  					operation: 'Remove',
  					query: Query,
  					options: Options
  				},
  				callback);
  			return;
  		},
  
  		//------------------------------------------
  		RemoveAll: function(Collection, Options, callback) {
  			if (typeof callback !== 'function') { throw Error('The callback function is a required parameter for RemoveAll.'); }
  			do_database_call(Socket, DatabaseType, {
  					collection: Collection,
  					operation: 'RemoveAll',
  					options: Options
  				},
  				callback);
  			return;
  		},
  
  		//------------------------------------------
  		Update: function(Collection, Query, Update, Options, callback) {
  			if (typeof callback !== 'function') { throw Error('The callback function is a required parameter for Update.'); }
  			do_database_call(Socket, DatabaseType, {
  					collection: Collection,
  					operation: 'Update',
  					query: Query,
  					update: Update,
  					options: Options
  				},
  				callback);
  			return;
  		}
  	};
  }