Среда:
- MacOS Mojave
- MongoDB v3.6.5
- Node.js v9.5.0
- Mongoose v5.5.6
Проблема
MongoDB имеет очень низкую производительность при выполнении функций, даже если количество результатов не превышает 100.
Обратите внимание, что собрание содержит до 170 000 документов с приблизительно 20 ГБ данных на диске.Также созданы некоторые индексы для ускорения запросов и сортировок.
Примеры кодов
col = await collection.updateOne({
id
}, {
$set: updateObject
}, {
upsert: true
});
// Takes up to 10 seconds to update only one document
collection.deleteMany({
productId: {
$in: ids
}
}, () => {
// some callback after deletion
});
// takes up to 144 second to delete about 50 documents
await Collection
.aggregate([{
$sort: {
groupName: 1
}
}, {
$project: {
$group: 1
}
}, {
$match: q // q is an object containing one to four properties to filter the results
}, {
$group: {
_id: '$group',
groupName: {
$first: '$group.groupName'
},
count: {
$sum: 1
}
}
}]).toArray();
// takes up to 340 seconds to execute
// I have created an index on { groupName: 1 } to speed up the sort() function.
Что я сделал до сих пор?
Я пытался создать некоторые индексы для ускорения find()
результатов, и, к счастью, это делает,Но не повезло с запросами на обновление и удаление.
Вопрос
Это мой первый проект с mongoDB, и он мне понравился.Но я нахожу это менее быстрым, чем SQL.Возможно ли, что я испортил свою коллекцию или это нормально, что эти запросы занимают слишком много времени?
Что мне нужно сделать, чтобы ускорить выполнение моих запросов?
Редактировать: Пример документа можно найти ниже:
{
"_id" : ObjectId("5cc5d9a0dde739ad304e9bd3"),
"id" : "b2cProduct-5cc5d9a0d1afc7771f316f02",
"store" : "some store",
"status" : "approved",
"productId" : "5cc5d9a0d1afc7771f316f02",
"created_at" : "2019-04-28T18:52:43+03:00",
"title" : "Connection Kit iphone 4s iPadiPad2 5in1 3xUSB",
"subTitle" : "Connection Kit iphone 4s iPad/iPad2 5in1 3xUSB Adapter",
"url" : "connection-kit-iphone-4s-ipadipad2-5in1-3xusb-5cc5d9a0d1afc7771f316f02",
"image" : {
"updated_at" : [],
"updated_by" : [],
"_id" : ObjectId("5cad1142059cbeafce880c34"),
"name" : "6lj2kpk2g5s0juab69di-2h3rf5jl4so0juab69wl",
"ext" : "jpg",
"path" : "./public/ucdn/images/",
"publicPath" : "ucdn/images/",
"target" : "productImage",
"created_at" : ISODate("2019-04-09T21:40:18.431Z"),
"userContent" : ObjectId("5cad1142059cbeafce880c33"),
"updatedAt" : ISODate("2019-04-09T21:40:18.431Z"),
"__v" : 0
},
"brandUrl" : "Other",
"brandId" : "5b6b1f2ad6edf943fa48645f",
"brandName" : "Other",
"rating" : 0,
"storeName" : "Some Store",
"storeUrl" : "platform/somestore",
"storeId" : "5ca760db12c5bdb8392cb08f",
"storeAverageCommentRate" : 0,
"storeRating" : 0,
"category" : "59b48ddd0ff2e4744ce0e73d",
"categoryName" : "Others",
"categoryChain" : [
"Others",
"Network",
"Network and Modems",
"Computer Accessories",
"Electronics"
],
"categoryIdChain" : [
"59b48ddd0ff2e4744ce0e73d",
"58467690aaa46604db0ee247",
"58467690aaa46604db0ed702",
"58467690aaa46604db0ed688",
"58467690aaa46604db0ed687"
],
"isAdult" : false,
"cancelDiscount" : false,
"productType" : "b2c",
"customCommissionRate" : 0,
"productVType" : "b2c",
"discountType" : null,
"discountRate" : null,
"stock" : 100,
"sid" : 365022,
"productCode" : "201113",
"storeTransactionCount" : 0,
"storeCommentCount" : 21,
"propertyOptions" : [],
"productHit" : 0,
"productUserHit" : 0,
"averageCommentRate" : 0,
"commentCount" : 0,
"favoriteCount" : 0,
"recommendCount" : 0,
"priceAlarmCount" : 0,
"stockRequestCount" : 0,
"orderCount" : 0,
"discountRatePresentation" : null,
"activeAds" : {
"list" : {
"super" : {},
"bold" : {},
"subTitle" : {},
"dailyOffer" : {}
},
"search" : []
},
"currency" : "TL",
"superDate" : 0,
"condition" : null,
"intPrice" : 260.24,
"paidPrice" : "260,24",
"price" : "260,24",
"rawPaidPrice" : 260.24,
"rawVPrice" : 260.24,
"freeShipping" : true,
"shippingTime" : 3,
"model" : [
"connectionkit3134"
],
"secondaryTitleIndexes" : "çoklu 4s kit iphone ipadipad2 3xusb kart okuyuc coklu connection 5in1 connection kit iphone 4s ipadipad2 5in1 3xusb coklu kart okuyuc connection kit iphone 4s ipadipad2 5in1 3xusb çoklu kart okuyuc",
"pref" : "",
"indexCycleId" : 14590,
"primaryCategoryIndexes" : "elektroni diğerleri ağ diğerleri ağ ürünleri a diğerleri ağ ürünleri ağ ve modem bilgisayar ve diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarla digerleri ag urunleri ag ve modem bilgi digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari e digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari el ur urunler digerleri ag mode bilgisaya aks diğerleri ağ ürünleri diğerleri ağ ürünleri ağ diğerleri ağ ürünleri ağ ve modem bilg diğerleri ağ ürünleri ağ ve modem bilgisayar ürünleri digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektronik ag diğerleri ağ ürünleri ağ ve modem bilgisayar ve ak diğerleri ağ ürünleri ağ diğerleri ağ ürünleri ağ ve modem bilgisayar ve a digerleri ag urunleri ag ve modem bilgisayar ve aksesu aksesuarl diğerleri ağ ürünle diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuar bil digerl digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektr digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektro urunleri digerleri ag urunler digerleri ag urunleri ag ve mo digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari akses diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektronik diğer urun diğerleri ağ ürünleri ağ ve modem diğerleri ağ ürünleri ağ ve modem diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektr diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektroni aksesuarlar diğerleri ağ ürü diğerleri ağ ürünleri diğerleri bilg bilgisa ürü diğerleri ağ ürünler diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları e diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları el digerleri ag urunleri ag ve modem bi diğerleri ağ ürünleri ağ ve m diğerleri ağ ürünleri ağ ve modem bilgisayar ve aks digerleri ag urunleri ag ve modem bilgisayar ve digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektroni elektronik digerleri ag urunleri ag ve modem bilgisa digerleri ag urunleri ag ve modem bilgisayar digerleri ag urunleri ag ve digerleri ag urunleri ag ve modem digerleri ag urunleri ag ve modem bilgisayar ve aksesuar aksesu diğerleri ağ ürünleri ağ ve modem b diğerler digerleri ag uru digerleri ag urunleri ag v urunl urunle digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elekt ak diğerleri ağ diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elekt digerleri digerleri ag urunleri ag ve modem bilg digerleri ag urunleri ag ve modem bilgis diğerleri ağ ürün diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarl digerleri ag urunleri ag ve digerleri ag urunleri ag ve m elek elektron diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesu diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları uru bilgisayar diğerle digerleri ag urunleri diğerleri ağ ürünleri ağ ve modem bil diğerleri ağ ürünleri ağ ve modem bilgisayar ve digerleri ag urunl digerleri ag urunleri ag ve modem digerleri ag urunleri ag ve modem bilgisayar ve digerleri a digerleri ag diğerleri ağ ürünleri ağ ve mod diğerleri ağ ürünleri ağ ve modem bilgisayar diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektron aksesuarlari ürünle dig el ele diğerleri ağ ürünleri ağ ve modem bilgisayar ve akse diğerl digerleri ag urunleri ag ve modem bilgisayar ve aksesuarl digerleri ag urunleri ag ve modem bilgisayar ve aksesuarla diğerleri a diğerleri ağ ürünleri ağ ve mode diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları ele ve digerleri ag urunleri ag ve modem bilgisayar ve akses digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari ele diğerleri ağ ürünl digerleri ag urunleri ag digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlar diğerleri ağ ür diğerleri ağ ü diğerleri ağ ürünleri ağ ve modem bilgi ürünl digerleri ag ur digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektron dige digerleri ag urunle digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elek digerleri ag urunleri ag ve mod digerleri ag urunleri ag ve modem b digerleri ag urunleri ag ve modem bilgisayar diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesua diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarlar aksesuar digerle digerleri ag urunleri a bi bilgisay elektr diğerleri ağ ürünleri ağ v diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elek digerleri ag urun digerleri ag urunleri ag ve modem bilgisayar ve ak aksesua digerleri ag urunleri ag ve modem bilgisayar ve akse akse bilgi diğ ür digerleri ag urunleri digerleri ag urunleri ag ve modem bilgisayar ve a diğerleri ağ ürünleri ağ ve modem bilgisayar v diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları digerleri ag urunleri ag ve mode digerleri ag urunleri ag ve modem bil digerleri ag urunleri ag ve modem bilgisayar v elekt ağ ürün digerleri diğerleri diğerleri ağ ürünleri ağ ve mo diğerleri ağ ürünleri ağ ve modem bilgisayar ve akses ürünler digerleri ag urunleri ag ve modem bilgisayar ve aks aksesuarla diğerleri ağ ürünleri ağ ve modem bilgisay modem aksesuarları diğe diğerleri ağ ürünleri ağ ve diğerleri ağ ürünleri ağ ve modem bilgisaya digerleri ag u digerleri ag urunleri ag ve modem bilgisayar ve aksesua mod digerleri ag urunleri ag ve modem bilgisaya diğerleri ağ ürünleri ağ ve modem bi diğerleri ağ ürünleri ağ ve modem bilgis diğerleri ağ ürünleri ağ ve modem bilgisa diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektro diger di digerleri ag urunleri ag ve modem bilgisay bilgis elektro diğerleri ağ ürünleri ağ ve digerler digerleri ag urunleri ag mo",
"secondaryCategoryIndexes" : "elektroni diğerleri ağ diğerleri ağ ürünleri a diğerleri ağ ürünleri ağ ve modem bilgisayar ve diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarla digerleri ag urunleri ag ve modem bilgi digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari e digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari el ur urunler digerleri ag mode bilgisaya aks diğerleri ağ ürünleri diğerleri ağ ürünleri ağ diğerleri ağ ürünleri ağ ve modem bilg diğerleri ağ ürünleri ağ ve modem bilgisayar ürünleri digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektronik ag diğerleri ağ ürünleri ağ ve modem bilgisayar ve ak diğerleri ağ ürünleri ağ diğerleri ağ ürünleri ağ ve modem bilgisayar ve a digerleri ag urunleri ag ve modem bilgisayar ve aksesu aksesuarl diğerleri ağ ürünle diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuar bil digerl digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektr digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektro urunleri digerleri ag urunler digerleri ag urunleri ag ve mo digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari akses diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektronik diğer urun diğerleri ağ ürünleri ağ ve modem diğerleri ağ ürünleri ağ ve modem diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektr diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektroni aksesuarlar diğerleri ağ ürü diğerleri ağ ürünleri diğerleri bilg bilgisa ürü diğerleri ağ ürünler diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları e diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları el digerleri ag urunleri ag ve modem bi diğerleri ağ ürünleri ağ ve m diğerleri ağ ürünleri ağ ve modem bilgisayar ve aks digerleri ag urunleri ag ve modem bilgisayar ve digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektroni elektronik digerleri ag urunleri ag ve modem bilgisa digerleri ag urunleri ag ve modem bilgisayar digerleri ag urunleri ag ve digerleri ag urunleri ag ve modem digerleri ag urunleri ag ve modem bilgisayar ve aksesuar aksesu diğerleri ağ ürünleri ağ ve modem b diğerler digerleri ag uru digerleri ag urunleri ag v urunl urunle digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elekt ak diğerleri ağ diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elekt digerleri digerleri ag urunleri ag ve modem bilg digerleri ag urunleri ag ve modem bilgis diğerleri ağ ürün diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarl digerleri ag urunleri ag ve digerleri ag urunleri ag ve m elek elektron diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesu diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları uru bilgisayar diğerle digerleri ag urunleri diğerleri ağ ürünleri ağ ve modem bil diğerleri ağ ürünleri ağ ve modem bilgisayar ve digerleri ag urunl digerleri ag urunleri ag ve modem digerleri ag urunleri ag ve modem bilgisayar ve digerleri a digerleri ag diğerleri ağ ürünleri ağ ve mod diğerleri ağ ürünleri ağ ve modem bilgisayar diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektron aksesuarlari ürünle dig el ele diğerleri ağ ürünleri ağ ve modem bilgisayar ve akse diğerl digerleri ag urunleri ag ve modem bilgisayar ve aksesuarl digerleri ag urunleri ag ve modem bilgisayar ve aksesuarla diğerleri a diğerleri ağ ürünleri ağ ve mode diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları ele ve digerleri ag urunleri ag ve modem bilgisayar ve akses digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari ele diğerleri ağ ürünl digerleri ag urunleri ag digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlar diğerleri ağ ür diğerleri ağ ü diğerleri ağ ürünleri ağ ve modem bilgi ürünl digerleri ag ur digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elektron dige digerleri ag urunle digerleri ag urunleri ag ve modem bilgisayar ve aksesuarlari elek digerleri ag urunleri ag ve mod digerleri ag urunleri ag ve modem b digerleri ag urunleri ag ve modem bilgisayar diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesua diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarlar aksesuar digerle digerleri ag urunleri a bi bilgisay elektr diğerleri ağ ürünleri ağ v diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elek digerleri ag urun digerleri ag urunleri ag ve modem bilgisayar ve ak aksesua digerleri ag urunleri ag ve modem bilgisayar ve akse akse bilgi diğ ür digerleri ag urunleri digerleri ag urunleri ag ve modem bilgisayar ve a diğerleri ağ ürünleri ağ ve modem bilgisayar v diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları digerleri ag urunleri ag ve mode digerleri ag urunleri ag ve modem bil digerleri ag urunleri ag ve modem bilgisayar v elekt ağ ürün digerleri diğerleri diğerleri ağ ürünleri ağ ve mo diğerleri ağ ürünleri ağ ve modem bilgisayar ve akses ürünler digerleri ag urunleri ag ve modem bilgisayar ve aks aksesuarla diğerleri ağ ürünleri ağ ve modem bilgisay modem aksesuarları diğe diğerleri ağ ürünleri ağ ve diğerleri ağ ürünleri ağ ve modem bilgisaya digerleri ag u digerleri ag urunleri ag ve modem bilgisayar ve aksesua mod digerleri ag urunleri ag ve modem bilgisaya diğerleri ağ ürünleri ağ ve modem bi diğerleri ağ ürünleri ağ ve modem bilgis diğerleri ağ ürünleri ağ ve modem bilgisa diğerleri ağ ürünleri ağ ve modem bilgisayar ve aksesuarları elektro diger di digerleri ag urunleri ag ve modem bilgisay bilgis elektro diğerleri ağ ürünleri ağ ve digerler digerleri ag urunleri ag mo diger diğ digerle diğer diğerl diğe di dig dige diğerle digerler diğerleri diğerler digerl digerleri",
"brandIndex" : "diger di dig dige",
"storeNameIndexes" : "somestore som somst somsto somestor",
"productCodeIndexes" : " 20 201 2011 20111 201113",
"productTemplate" : null,
"productRealModel" : null,
"hasVariant" : false,
"variantOptions" : [],
"groupName": "someGroup",
"group": {
"groupId": "59b48ddd0ff2e4744ce0e73d",
"groupName": "someGroup"
},
"filterTags" : [
"model-connectionkit3134"
]
}