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

247
Views
cómo solucionar MongooseError: el almacenamiento en búfer de la operación `iphones.insertMany()` se agotó después de 10000 ms

Estoy eliminando datos de amazon.com y guardándolos en mongodb usando mongoose. Cada vez que llamo al método InsertMany, aparece el error en el título anterior, utilicé un .catch y el mensaje de error es en realidad el documento formateado como mongodDB con el ObjectID generado automáticamente y todo. Busqué todos los enlaces en línea y en stackOverFlow y no puedo encontrar una respuesta útil, así que NO CIERRES ESTO COMO DUPLICADO porque ninguna respuesta parece ayudar.

Me aseguré de estar usando el usuario correcto y de incluir en la lista blanca todas las direcciones IP (0.0.0.0/0). el código está debajo

 import cheerio from "cheerio"; import express from "express"; import axios from "axios"; import mongoose from "mongoose"; import iphone from "../../Database/models/iphone.schema.js"; const PORT = 3000; const app = express(); const connectToMongod = async () => { setTimeout(function () { mongoose.set("bufferCommands", false); mongoose .connect( "mongodb+srv://amro:amro1234@cluster0.z9mix.mongodb.net/myFirstDatabase?retryWrites=true&w=majority", { useNewUrlParser: true, socketTimeoutMS: 0, } ) .then(console.log("connected successfully")); }, 0); console.log("connected to MongoDb"); }; const iLoveFakhry = async () => { const data = []; for (var i = 1; i <= 4; i++) { const res = await axios( `https://www.amazon.com/s?k=iphone&page=${i}&qid=1641303333&sprefix=iphone%2Caps%2C262&ref=sr_pg_${i}` ); const html = res.data; const $ = cheerio.load(html); $(".s-asin").each((i, el) => { if (i == 16) { return false; } else { const title = $(el) .find(".s-title-instructions-style") .end() .find(".a-size-medium.a-color-base.a-text-normal") .html(); const price = $(el) .find(".s-price-instructions-style") .end() .find(".a-offscreen") .html(); const link = "https://amazon.com" + $(el) .find(".s-title-instructions-style") .end() .find(".a-link-normal") .attr("href"); data.push({ title, price, link, }); } }); } return data; }; app.get("/scrape", async (req, res) => { await connectToMongod(); const data = await iLoveFakhry(); await iphone.insertMany(data).catch((err) => { console.error(err); }); res.send(data); }); app.listen(PORT, () => console.log(`Server Started on PORT ${PORT}`));
about 4 years ago · Juan Pablo Isaza
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!