From 9792193e605a8df8989c36e1e4edad25464aa442 Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Mon, 18 Jul 2016 22:38:38 +0200 Subject: Add MongoDB indexes These indexes will optimize the queries that are used in the board and card views. Fixes #524. --- models/activities.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'models/activities.js') diff --git a/models/activities.js b/models/activities.js index ad920149..aa2ea3ec 100644 --- a/models/activities.js +++ b/models/activities.js @@ -41,12 +41,14 @@ Activities.before.insert((userId, doc) => { doc.createdAt = new Date(); }); -// For efficiency create an index on the date of creation. if (Meteor.isServer) { + // For efficiency create indexes on the date of creation, and on the date of + // creation in conjunction with the card or board id, as corresponding views + // are largely used in the App. See #524. Meteor.startup(() => { - Activities._collection._ensureIndex({ - createdAt: -1, - }); + Activities._collection._ensureIndex({ createdAt: -1 }); + Activities._collection._ensureIndex({ cardId: 1, createdAt: -1 }); + Activities._collection._ensureIndex({ boardId: 1, createdAt: -1 }); }); Activities.after.insert((userId, doc) => { -- cgit v1.2.3-1-g7c22