Я работаю над проектом Go и использую mongodb для хранения своих данных.Но неожиданно выполнение запроса mongodb заняло слишком много времени для получения данных.У меня есть коллекция под названием «автомобили» с около 25000 документов и каждый документ, содержащий около 200 полей (4,385 КБ).У меня есть сводный запрос, подобный следующему:
db.cars.aggregate([
{
$lookup:
{
from: "users",
localField: "uid",
foreignField: "_id",
as: "customer_info"
}
},{
$unwind: "$customer_info"
},{
$lookup:
{
from: "user_addresses",
localField: "uid",
foreignField: "_id",
as: "address"
}
},{
$unwind: "$address"
},{
$lookup:
{
from: "models",
localField: "_id",
foreignField: "car_id",
as: "model_info"
}
},{
$match:{
purchased_on:{$gt:1538392491},
status:{$in:[1,2,3,4]},
"customer_info.status":{$ne:9},
"model_info.status":{$ne:9},
}
},{
$sort:{
arrival_time:1
}
},{
$skip:0
},{
$limit:5
}
])
Моя структура документа выглядит следующим образом: https://drive.google.com/file/d/1hM-lPwvE45_213rQDYaYuYYbt3LRTgF0/view.
Теперь, если выполнить этот запрос без индексации, то для загрузки файла потребуется около 10 минут.данные.Кто-нибудь может подсказать, как мне сократить время его выполнения?