From 434bced6f4aadb8b3291e32f87c4f55454e029d4 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 14 Feb 2017 08:24:18 +0900 Subject: #160 --- src/api/common/add-file-to-drive.ts | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/api/common') diff --git a/src/api/common/add-file-to-drive.ts b/src/api/common/add-file-to-drive.ts index bbff93ac7a..714eeb520d 100644 --- a/src/api/common/add-file-to-drive.ts +++ b/src/api/common/add-file-to-drive.ts @@ -79,17 +79,20 @@ export default ( } } - // Fetch all files to calculate drive usage - const files = await DriveFile - .find({ user_id: user._id }, { - fields: { - datasize: true, - _id: false - } - }); - - // Calculate drive usage (in byte) - const usage = files.map(file => file.datasize).reduce((x, y) => x + y, 0); + // Calculate drive usage + const usage = ((await DriveFile + .aggregate([ + { $match: { user_id: user._id } }, + { $project: { + datasize: true + }}, + { $group: { + _id: null, + usage: { $sum: '$datasize' } + }} + ]))[0] || { + usage: 0 + }).usage; log(`drive usage is ${usage}`); -- cgit v1.2.3-freya