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);
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:Además, asegúrate de haber instalado correctamente el paquete
mongodb
y de que tu instancia de MongoDB se esté ejecutando en127.0.0.1:27017
. ¡Avísame si tienes alguna otra pregunta o problema!