code: def create_collection(cls, target=None, drop=False, indexes=True):
  		
  		
  		if target is None:
  			if cls.__bound__ is None:
  				raise TypeError("Target required when document class not bound.")
  			
  			target = cls.__bound__
  		
  		if isinstance(target, PyMongoCollection):
  			collection = target.name
  			target = target.database
  		elif isinstance(target, Database):
  			collection = cls.__collection__
  		else:
  			raise TypeError("Can not retrieve database from: " + repr(target))
  		
  		if drop:
  			target.drop_collection(collection)  # TODO: If drop fails, try just emptying?
  		
  		collection = target.create_collection(collection, **cls._collection_configuration(True))
  		
  		if indexes:
  			cls.create_indexes(collection)
  		
  		return collection
docs: Ensure the collection identified by this document class exists, creating it if not, also creating indexes.
  		
  		**Warning:** enabling the `recreate` option **will drop the collection, erasing all data within**.
  		
  		http://api.mongodb.com/python/current/api/pymongo/database.html#pymongo.database.Database.create_collection