From 1f88c4d40c3e6dba6da173496e444e46323d84c5 Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 22 Feb 2017 13:08:33 +0900 Subject: [Server] Some performance improvements --- src/api/endpoints/users/followers.js | 4 ++++ src/api/endpoints/users/following.js | 4 ++++ src/api/endpoints/users/posts.js | 12 +++++++++--- src/api/endpoints/users/show.js | 12 +++++++++--- 4 files changed, 26 insertions(+), 6 deletions(-) (limited to 'src/api/endpoints/users') diff --git a/src/api/endpoints/users/followers.js b/src/api/endpoints/users/followers.js index fdb33b5328..5e11613c52 100644 --- a/src/api/endpoints/users/followers.js +++ b/src/api/endpoints/users/followers.js @@ -47,6 +47,10 @@ module.exports = (params, me) => // Lookup user const user = await User.findOne({ _id: new mongo.ObjectID(userId) + }, { + fields: { + _id: true + } }); if (user === null) { diff --git a/src/api/endpoints/users/following.js b/src/api/endpoints/users/following.js index 7849456e62..7b81cc4f3b 100644 --- a/src/api/endpoints/users/following.js +++ b/src/api/endpoints/users/following.js @@ -47,6 +47,10 @@ module.exports = (params, me) => // Lookup user const user = await User.findOne({ _id: new mongo.ObjectID(userId) + }, { + fields: { + _id: true + } }); if (user === null) { diff --git a/src/api/endpoints/users/posts.js b/src/api/endpoints/users/posts.js index 6a612dc8df..140c188390 100644 --- a/src/api/endpoints/users/posts.js +++ b/src/api/endpoints/users/posts.js @@ -67,10 +67,16 @@ module.exports = (params, me) => return rej('cannot set since_id and max_id'); } + const q = userId != null + ? { _id: new mongo.ObjectID(userId) } + : { username_lower: username.toLowerCase() } ; + // Lookup user - const user = userId !== null - ? await User.findOne({ _id: new mongo.ObjectID(userId) }) - : await User.findOne({ username_lower: username.toLowerCase() }); + const user = await User.findOne(q, { + fields: { + _id: true + } + }); if (user === null) { return rej('user not found'); diff --git a/src/api/endpoints/users/show.js b/src/api/endpoints/users/show.js index 43d6e700a5..bc7e3a9d5b 100644 --- a/src/api/endpoints/users/show.js +++ b/src/api/endpoints/users/show.js @@ -38,10 +38,16 @@ module.exports = (params, me) => return rej('incorrect user_id'); } + const q = userId != null + ? { _id: new mongo.ObjectID(userId) } + : { username_lower: username.toLowerCase() } ; + // Lookup user - const user = userId !== null - ? await User.findOne({ _id: new mongo.ObjectID(userId) }) - : await User.findOne({ username_lower: username.toLowerCase() }); + const user = await User.findOne(q, { + fields: { + data: false + } + }); if (user === null) { return rej('user not found'); -- cgit v1.2.3-freya