У меня возникли проблемы с хорошей моделью mongodb. У меня 2 миллиона сотрудников. Мне нужно сохранить массив идентификаторов супервизора, которые могут получить доступ к сотруднику. Данные изображения подобны этому.производительность mongodb с большим массивом в документе
{
'fullName':'Jonathan Smith',
'employeeId':'8675309',
'supervisors':[1234,7654,45676,34543,56545]
}
Каждый массив может иметь сотни элементов. Элементы также могут колебаться. Поэтому мне нужно будет выполнить быстрые $ puts и $ pulls, чтобы добавлять и вычитать элементы из массива.
У меня есть хороший пример операции. У нас есть диспетчер 5555, который теперь имеет доступ к 510 000 сотрудников. Поэтому мне нужно обновить эти 510 000 сотрудников, добавив 5555 для этих рабочих групп.
Тогда будет запрос, дайте мне доступ ко всем сотрудникам 5555 сотрудников.
есть ли лучший способ сделать это? Есть ли что-то, что я могу сделать, чтобы обеспечить производительность.
Хорошо, я понимаю, что вы говорите. Это уменьшит элементы массива элементов pf из-за того, что супервизоры могут иметь одну и ту же группу A. Так что скажем, я использовал этот подход. Что касается того факта, что у меня все еще есть 2 миллиона сотрудников, и вам нужно выполнять операции push и pull для этих сотрудников, добавляя идентификаторы группы. Любая проблема с производительностью? – FarscapePROJ
2 миллиона документов не очень много. Если вам часто не нужно обновлять все эти документы в режиме реального времени, с интерактивным ответом, это не имеет большого значения. Вы должны иметь возможность обновлять несколько тысяч документов в секунду. – drmirror
Недавно я написал сообщение в блоге о растущих массивах в MongoDB: http://goo.gl/eDcV5z Там вы можете увидеть ориентир для этого поведения. –