Skip to content

Commit 387b729

Browse files
committed
Use array slice projections for less network io
1 parent 33a1567 commit 387b729

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

core/clients.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,10 +253,15 @@ async def post_metadata(self, data):
253253
return await self.request(self.METADATA, method='POST', payload=data)
254254

255255
async def get_user_logs(self, user_id):
256-
logs = []
257-
async for entry in self.logs.find({'recipient.id': str(user_id)}):
258-
logs.append(entry)
259-
return logs
256+
query = {
257+
'recipient.id': str(user_id),
258+
'guild_id': str(self.bot.guild_id)
259+
}
260+
261+
projection = {
262+
'messages': {'$slice': 5}
263+
}
264+
return await self.logs.find(query, projection).to_list(None)
260265

261266
async def get_log(self, channel_id):
262267
return await self.logs.find_one({'channel_id': str(channel_id)})
@@ -274,7 +279,7 @@ async def create_log_entry(self, recipient, channel, creator):
274279
'created_at': str(datetime.utcnow()),
275280
'closed_at': None,
276281
'channel_id': str(channel.id),
277-
'guild_id': str(channel.guild.id),
282+
'guild_id': str(self.bot.guild_id),
278283
'recipient': {
279284
'id': str(recipient.id),
280285
'name': recipient.name,

0 commit comments

Comments
 (0)