Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

207
Views
El tamaño total del almacenamiento dinámico JS aumenta aproximadamente 120 MB al realizar una consulta mongodb

No entiendo por qué el tamaño del montón sigue aumentando cuando coloco una consulta de base de datos mongodb dentro de una función en mi controlador.

aquí está mi enrutador

 import { Router } from "express"; import profileController from '../controllers/profileController'; class userRouter { public router: Router; constructor() { this.getRoutes(); } getRoutes() { this.router.get("/profile-list", profileController.getProfileList); } } export default new userRouter().router;

aquí está mi controlador

 import Profile from "../models/profile"; export class profileController { static async getProfileList(req: any, res: any, next: any) { try { const getList = await Profile.find(); res.status(200).json({ status: 200, message: "Success", data: getList, }); } catch (error) { console.log(error); } } }

aquí está mi modelo

 import * as mongoose from "mongoose"; import { model } from "mongoose"; const profileSchema = new mongoose.Schema({ userId: { type: String, required: true }, name: { type: String, default: ""}, }, { timestamps: true } ); export default model("profile", profileSchema);

Tamaño total del almacenamiento dinámico sin la función getProfileList => 135 MB

Tamaño total del almacenamiento dinámico después de colocar la función getProfileList => 255 MB (específicamente después de colocar const getList = await Profile.find(); )

Aquí inspeccioné la memoria y encontré esto en comparación:

TypeObject aumentó de 3 MB a 99 MB (matriz) aumentó de 26 MB a 88 MB

Cualquiera, por favor, ayúdame a entender por qué sucede. o es habitual en tal caso.

Captura de pantalla de la comparativa antes y después

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El problema es que no está usando ningún límite, por lo que usar await Profile.find(); devolverá todos los documentos en la base de datos, por lo que cuando realice una llamada a su controlador, devolverá todos los datos de la base de datos que pueden aumentar mucho el tamaño del montón.

Puede usar limit y skip para implementar la paginación para su punto final.

También debe considerar el hecho de que la biblioteca Mongoose debe cargarse en su memoria, las conexiones a la base de datos, etc., que también requieren RAM.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!