I'm very fresh into both node.js and mongodb but I do really like it thus far. I'm trying to make an api-call and insert the data recieved into mongodb. Using cloud9 IDE btw.
On SO now I've only found posts about importing json files such as this one Insert json file into mongodb
var url = "API CALL HERE"
request(url, function(error, response, body){
if(!error && response.statusCode == 200){
var data = JSON.parse(body);
res.send(data);
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var myobj = data;
db.collection("dabas").insertMany(myobj, function(err, res) {
if (err) throw err;
console.log("Number of documents inserted: " + res.insertedCount);
db.close();
});
});
}
});
A sample from the json file looks like this:
// 20171013085454
// http://api.dabas.com/DABASService/V2/article/GTIN/07310100774460/json?apikey=2d2fbadc-dbe1-420f-a777-65912d65e388
{
"Artikelbeskrivning": null,
"Artikelegenskap": null,
"Produktkod": "103511784459 / Kolonial/Speceri -- Kakao/Chokladdryck -- Kakaopulver -- Kakaopulver",
"OvrigObligatoriskMarkning": null,
"MaximalaAntaletMinstaEnheterIforpackningen": 0,
"Hyllkantstext": "Kakaopulver 20-22",
"Storlek": "1kg",
"TullstatistisktNummer": null,
"Varningsetiketter": [
],
"Sasongskoder": [
],
"Produktklasser": [
],
"MaskinellMarkningar": [
{
"MaskinellMarkning": null,
"TypAvMarkning": null,
"Databarartyp": "EAN UPC"
}
]}
When running I get this error message:
/home/ubuntu/workspace/Projects/Mathubben/node_modules/mongodb/lib/mongo_client.js:433
throw err
^
MongoError: docs parameter must be an array of documents
at Function.MongoError.create (/home/ubuntu/workspace/Projects/Mathubben/node_modules/mongodb-core/lib/error.js:31:11)
at Collection.insertMany (/home/ubuntu/workspace/Projects/Mathubben/node_modules/mongodb/lib/collection.js:501:32)
at /home/ubuntu/workspace/Projects/Mathubben/app.js:26:38
at connectCallback (/home/ubuntu/workspace/Projects/Mathubben/node_modules/mongodb/lib/mongo_client.js:515:5)
at /home/ubuntu/workspace/Projects/Mathubben/node_modules/mongodb/lib/mongo_client.js:430:11
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)