In my node.js app I retrieve values from mongodb server and want to convert them to a CSV file.The parent element is easily accessed from the database and displayed in the CSV file but the sub element is not displayed and can't be accessed..
JSON structure:
"name" : "fhj",
"age" : "23",
"gender" : "female",
"sec" : "b",
"username" : "9886666",
"language" : "HINDI",
"method" : "method2",
"timeSlot" : {
"id" : 2,
"fromTime" : 12,
"toTime" : 15
}
mycode:
db.users.find(function(err,values){
if(err||!values.length)
console.log("ERROR !!!!");
else
{
var i=1;
str='[';
values.forEach(function(user){
if(i==values.length)
str=str+'{ "name" : "' + user.username + '","age" : "'+ user.age +'","gender":"'+user.gender+'","sec":"'+user.sec+'","username":"'+user.username+'","language":"'+user.language+'","method":"'+user.method+'","Timeslot":"'+user.timeslot+'"}';
else{
str = str + '{ "name" : "' + user.username + '","age" : "'+ user.age +'","gender":"'+user.gender+'","sec":"'+user.sec+'","username":"'+user.username+'","language":"'+user.language+'","method":"'+user.method+'","Timeslot":"'+user.timeslot+'"},' +'\n';
i++;
}
});
str = str.trim();
str = str + ']';
var obj=JSON.parse(str);
json2csv({data: obj, fields: ['name', 'age','gender','sec','username','language','method','Timeslot']}, function(err, csv) {
if (err)
console.log(err);
fs.writeFile('./files/user.csv', csv, function(err) {
if (err)
throw err;
console.log('File saved');
});
});
}
});
All the values are displayed except the sub element of timeslot. How can I access the sub element of the JSON from the database and display all the values in a CSV file???