Estoy tratando de insertar documentos de esta API meteorológica en mi MongoDB. Sigo recibiendo Cannot read property '_id' of undefined con estos errores
undefined /Users/Ekom/WebstormProjects/WebApps/node_modules/mongodb/lib/mongo_client.js:236 throw err ^ TypeError: Cannot read property '_id' of undefined at Collection.insertMany (/Users/Ekom/WebstormProjects/WebApps/node_modules/mongodb/lib/collection.js:513:17) at Collection.insert (/Users/Ekom/WebstormProjects/WebApps/node_modules/mongodb/lib/collection.js:825:15) at /Users/Ekom/WebstormProjects/WebApps/app.js:26:24 at connectCallback (/Users/Ekom/WebstormProjects/WebApps/node_modules/mongodb/lib/mongo_client.js:314:5) at /Users/Ekom/WebstormProjects/WebApps/node_modules/mongodb/lib/mongo_client.js:233:11 at _combinedTickCallback (internal/process/next_tick.js:67:7) at process._tickCallback (internal/process/next_tick.js:98:9)aplicación.js
mongodb.MongoClient.connect('mongodb://localhost:27017/weatherdb', function(error, database) { if(error != null) { throw error; } collection = database.collection('data'); weather.find({search: 'Ottawa, ON', degreeType: 'C'}, function(err, documents) { if(err) console.log(err); // console.log(JSON.stringify(documents, null, 2)); }); console.log(documents); collection.insert(documents, { w:1 }, function (error, result) { if (error != null) { console.log("ERROR: " + error); } }); });Por favor, ¿puede alguien que sepa lo que estoy haciendo mal amablemente indicarme la dirección correcta?
var mongodb=require("mongodb"); var weather = require('weather-js'); mongodb.MongoClient.connect('mongodb://localhost/weatherdb', function(error, database) { if(error != null) { throw error; }; weather.find({search: 'Ottawa, ON', degreeType: 'C'}, function(err, documents) { if(err) console.log(err); console.log(documents); database.collection('data').insert(documents,function (error, result) { if (error) { console.log("ERROR: " + error); } }); }); }); Su línea console.log estaba fuera de la función de devolución de llamada, por lo tanto, desconocía los "documentos" y su declaración de inserción también estaba un poco apagada, el código anterior funcionó para mí.