У меня есть две коллекции в моей базе данных mongodb:
employee_details с приблизительно 330000 документами, в которых Department_id как справка из коллекции отделов
отделов коллекции с 2 полями _id и имя_экспорта
Я хочу объединить две вышеупомянутые коллекции, используя Department_id в качестве внешнего ключа, используя метод поиска. Объединение работает нормально, но выполнение запроса mon go занимает много времени, когда я добавляю сортировку.
Примечание: выполнение выполняется быстро, если я удаляю объект сортировки или если я удаляю метод поиска.
Я сослался на несколько постов в разных блогах и SO, но ни один из них не дал решения с сортировкой.
Мой запрос приведен ниже:
db.getCollection("employee_details").aggregate([
{
$lookup: {
from: "departments",
localField: "department_id",
foreignField: "_id",
as: "Department"
}
},
{ $unwind: { path: "$Department", preserveNullAndEmptyArrays: true } },
{ $sort: { employee_fname: -1 } },
{ $limit: 10 }
]);
Может кто-то дал метод, чтобы заставить этот запрос работать без задержки, так как мой клиент не может скомпрометировать задержку производительности. Я надеюсь, что есть какой-то метод для исправления проблемы с производительностью, так как sql не предназначен для обработки большой базы данных.
Есть ли здесь какие-либо методы индексирования? чтобы я мог использовать его вместе со своей структурой коллекции.
Заранее спасибо.