Skip to content

Commit ed95d29

Browse files
committed
fix(persist): use mongo concat to avoid reparsing scenes queries
1 parent 6d38239 commit ed95d29

1 file changed

Lines changed: 16 additions & 14 deletions

File tree

users/persistence.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,16 @@ def read_persist_scenes_all():
3939
"sceneId": "$sceneId",
4040
}
4141
}
42+
},
43+
{
44+
"$project": {
45+
"name": {
46+
"$concat": ["$_id.namespace", "/", "$_id.sceneId"]
47+
}
48+
}
4249
}
4350
])
44-
unique_scenes = []
45-
for doc in arenaobjects:
46-
ns = doc['_id']['namespace']
47-
sc = doc['_id']['sceneId']
48-
unique_scenes.append(f"{ns}/{sc}")
49-
50-
return unique_scenes
51+
return [doc['name'] for doc in arenaobjects]
5152

5253

5354
def read_persist_scenes_by_namespace(namespaces):
@@ -64,15 +65,16 @@ def read_persist_scenes_by_namespace(namespaces):
6465
"sceneId": "$sceneId",
6566
}
6667
}
68+
},
69+
{
70+
"$project": {
71+
"name": {
72+
"$concat": ["$_id.namespace", "/", "$_id.sceneId"]
73+
}
74+
}
6775
}
6876
])
69-
unique_scenes = []
70-
for doc in arenaobjects:
71-
ns = doc['_id']['namespace']
72-
sc = doc['_id']['sceneId']
73-
unique_scenes.append(f"{ns}/{sc}")
74-
75-
return unique_scenes
77+
return [doc['name'] for doc in arenaobjects]
7678

7779

7880
def read_persist_scene_objects(namespace, scene):

0 commit comments

Comments
 (0)