es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conexión a MongoDB a través de Node.js

Hola a todos

En mi código, hay una API que funciona bien.
Y estoy intentando conectarme a MongoDB desde Node para insertar los datos de la API.

Como puedes ver, obtengo este error:
“message”: “Uncaught SyntaxError: Unexpected identifier”,
parece que hay un problema con MongoClient.

He revisado las respuestas en este sitio sobre estos temas y nadie resuelve mi problema.
¡Gracias por cualquier ayuda!

let http = require('http');
let weatherKey = process.env.weatherKey;
// console.log(weatherKey);

function getData(cb) {

    http.get(`http://api.openweathermap.org/data/2.5/weather?q=israel&appid=${weatherKey}`, res => {
        let data = ""
        res.on('data', string => {
            data += string
        })
        res.on('end', () => {
            let obj = JSON.parse(data)
            cb(obj);
        })

    }).on("error", error => {
        cb(error);
    })
}

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://127.0.0.1:27017/";

function connectToMongo(data)
MongoClient.connect(url, function (err, db) {
    if (err) throw err;
    var dbo = db.db("weather-db");
    dbo.collection("node").insertOne(data, err => {
        if (err) throw err;
        console.log("documents inserted");
        db.close();
    });
});

getData(connectToMongo);

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    ¡Hola!

    El error que estás recibiendo se debe a un error de sintaxis en tu código. Parece que te falta un par de llaves llaves alrededor del cuerpo de tu función connectToMongo. Así es como debería verse tu código actualizado:

    function connectToMongo(data) {
      MongoClient.connect(url, function (err, db) {
        if (err) throw err;
        var dbo = db.db("weather-db");
        dbo.collection("node").insertOne(data, err => {
          if (err) throw err;
          console.log("documentos insertados");
          db.close();
        });
      });
    }
    
    getData(connectToMongo);
    

    Además, asegúrate de haber instalado correctamente el paquete mongodb y de que tu instancia de MongoDB se esté ejecutando en 127.0.0.1:27017. ¡Avísame si tienes alguna otra pregunta o problema!

Comments are closed.