je suis nouveau dans mongodb et je suis confronté à un problème,
j'ai autour des millions de documents dans ma collection
et je suis en train de trouver une entrée unique en utilisant findOne ({}) commande
et quand je suis en train de trouver des entrées récentes alors la réponse est dans miliseconds
mais quand je suis en train de chercher les entrées plus anciennes dans le document 600 millionième alors il prend environ 2 minutes shell mongo
et mon serveur de noeud donnemongodb prendre trop de temps pour les anciennes entrées
{ MongoErro : connection 1 to 127.0.0.1:27017 timed out }
et mon serveur nodejs envoie une réponse vide.
quelqu'un peut me dire ce que dois-je faire pour résoudre ce problème
Merci à l'avance
expliquer me donne
db.contacts.find({"phoneNumber":"9165900137"}).explain("executionStats")
{
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "meanApp.contacts",
"indexFilterSet" : false,
"parsedQuery" : {
"phoneNumber" : {
"$eq" : "9165900137"
}
},
"winningPlan" : {
"stage" : "COLLSCAN",
"filter" : {
"phoneNumber" : {
"$eq" : "9165900137"
}
},
"direction" : "forward"
},
"rejectedPlans" : [ ]
},
"executionStats" : {
"executionSuccess" : true,
"nReturned" : 1,
"executionTimeMillis" : 321188,
"totalKeysExamined" : 0,
"totalDocsExamined" : 495587806,
"executionStages" : {
"stage" : "COLLSCAN",
"filter" : {
"phoneNumber" : {
"$eq" : "9165900137"
}
},
"nReturned" : 1,
"executionTimeMillisEstimate" : 295230,
"works" : 495587808,
"advanced" : 1,
"needTime" : 495587806,
"needYield" : 0,
"saveState" : 3871779,
"restoreState" : 3871779,
"isEOF" : 1,
"invalidates" : 0,
"direction" : "forward",
"docsExamined" : 495587806
}
},
"serverInfo" : {
"host" : "li1025-15.members.linode.com",
"port" : 27017,
"version" : "3.2.16",
"gitVersion" : "056bf45128114e44c5358c7a8776fb582363e094"
},
"ok" : 1
}
Vous devez fournir des détails, comme votre requête, vos index, les résultats du 'explain' que vous avez déjà exécuté, comment les dupes ici sur SO n'étaient pas suffisamment utiles, etc. –
Voter pour cette question ne fait aucune sens-c'est équivalent à dire «pourquoi mon programme ne fonctionne-t-il pas?» et peu d'autre. Il n'y a aucune information ici que n'importe qui pourrait utiliser pour aider au-delà des questions typiques et dupliquer "comment je fais vite mongo" ici et sur le web. Il n'y a peut-être pas de raisons de baisser les prix, mais il y a certainement des raisons de ne pas les remettre en question. –
Et vos indices? expliquer le résultat? Etc. –