refactoring, use _prepare_key()
_prepare_key to BaseCollection.prepare_key()
prepare_key in delete()
metadata support added