Merge branch 'maulal-devel' into devel

Improve Wekan performance by adding indexes to MongoDB
This commit is contained in:
Lauri Ojansivu 2017-02-22 17:14:20 +02:00
commit b4fd6b7004
5 changed files with 11 additions and 1 deletions

View file

@ -52,6 +52,8 @@ if (Meteor.isServer) {
Activities._collection._ensureIndex({ createdAt: -1 });
Activities._collection._ensureIndex({ cardId: 1, createdAt: -1 });
Activities._collection._ensureIndex({ boardId: 1, createdAt: -1 });
Activities._collection._ensureIndex({ commentId: 1 }, { partialFilterExpression: { commentId: { $exists: true } } });
Activities._collection._ensureIndex({ attachmentId: 1 }, { partialFilterExpression: { attachmentId: { $exists: true } } });
});
Activities.after.insert((userId, doc) => {

View file

@ -414,6 +414,7 @@ if (Meteor.isServer) {
_id: 1,
'members.userId': 1,
}, { unique: true });
Boards._collection._ensureIndex({'members.userId': 1});
});
// Genesis: the first activity of the newly created board

View file

@ -267,7 +267,7 @@ if (Meteor.isServer) {
// Cards are often fetched within a board, so we create an index to make these
// queries more efficient.
Meteor.startup(() => {
Cards._collection._ensureIndex({ boardId: 1 });
Cards._collection._ensureIndex({ boardId: 1, createdAt: -1 });
});
Cards.after.insert((userId, doc) => {

View file

@ -133,6 +133,10 @@ Checklists.mutations({
});
if (Meteor.isServer) {
Meteor.startup(() => {
Checklists._collection._ensureIndex({ cardId: 1, createdAt: 1 });
});
Checklists.after.insert((userId, doc) => {
Activities.insert({
userId,

View file

@ -26,6 +26,9 @@ if (Meteor.isServer) {
function isAuthor(userId, doc, fieldNames = []) {
return userId === doc.userId && fieldNames.indexOf('userId') === -1;
}
Meteor.startup(() => {
UnsavedEditCollection._collection._ensureIndex({ userId: 1 });
});
UnsavedEditCollection.allow({
insert: isAuthor,
update: isAuthor,