diff --git a/pype/ftrack/actions/action_delete_asset.py b/pype/ftrack/actions/action_delete_asset.py index 106c81758a..fb87e3ed7c 100644 --- a/pype/ftrack/actions/action_delete_asset.py +++ b/pype/ftrack/actions/action_delete_asset.py @@ -277,10 +277,7 @@ class DeleteAsset(BaseAction): 'message': 'No entities to delete in avalon' } - or_subquery = [] - for id in all_ids: - or_subquery.append({'_id': id}) - delete_query = {'$or': or_subquery} + delete_query = {'_id': {'$in': all_ids}} self.db.delete_many(delete_query) return { diff --git a/pype/ftrack/actions/action_delete_asset_byname.py b/pype/ftrack/actions/action_delete_asset_byname.py index 4a3807f8f0..66350d5480 100644 --- a/pype/ftrack/actions/action_delete_asset_byname.py +++ b/pype/ftrack/actions/action_delete_asset_byname.py @@ -97,10 +97,7 @@ class AssetsRemover(BaseAction): 'message': 'None of assets' } - or_subquery = [] - for id in all_ids: - or_subquery.append({'_id': id}) - delete_query = {'$or': or_subquery} + delete_query = {'_id': {'$in': all_ids}} self.db.delete_many(delete_query) self.db.uninstall() diff --git a/pype/lib.py b/pype/lib.py index 6f6895085e..ef48fac29b 100644 --- a/pype/lib.py +++ b/pype/lib.py @@ -562,7 +562,7 @@ def get_subsets(asset_name, find_dict = {"type": "representation", "parent": version_sel["_id"]} - filter_repr = {"$or": [{"name": repr} for repr in representations]} + filter_repr = {"name": {"$in": representations}} find_dict.update(filter_repr) repres_out = [i for i in io.find(find_dict)]