I am trying to export mongodb data to csv using fs.writeFile. After converting jsontocsv Iam getting columns like "$__", "$isNew", "_doc" along with my original columns.
Actually my original DB consists of keys "email", "phone", "date". But after converting into csv I am getting extra keys "$__", "$isNew", "_doc" which I don't want.
I have written the code as shown below-
"result": [
{
"is_deleted": false,
"_id": "6317ffaeccc43ae16856d04b",
"email": "stu@gmail.com",
"phone": "9000123987",
"date": "1/2/2022",
"details": [
{
"id": "1"
}
]
},
{
"is_deleted": false,
"_id": "6317ffaeccc43ae16856d04c",
"email": "pqr@gmail.com",
"phone": "8009988345",
"date": "9/3/2022",
"details": [
{
"id": "1"
}
]
},
{
"is_deleted": false,
"_id": "6317ffaeccc43ae16856d04e",
"email": "jkl@gmail.com",
"phone": "1234567890",
"date": "5/8/2022",
"details": [
{
"id": "2"
}
]
},
{
"is_deleted": false,
"_id": "6317ffaeccc43ae16856d04f",
"email": "abc@gmail.com",
"phone": "5431265708",
"date": "1/4/2022",
"details": [
{
"id": "2"
}
]
}
]
const Json2csvParser = require("json2csv").Parser;
const json2csvParser = new Json2csvParser({ header: true });
const csvData = json2csvParser.parse(result);
console.log(" working");
fs.writeFile("sample.csv", csvData, function(error) {
if (error) throw error;
console.log("Write to csv successfully!");
});
From the above code I am able to convert jsontocsv but along with my original columns getting unwanted columns.
my output: ""$__","$isNew","_doc","email","phone","date","details"\r\n"{""activePaths"":{""paths"":{""is_deleted"":""default"",""_id"":""init""},""states"":{""ignore"":{},""default"":{""is_deleted"":true},""init"":{""_id"":true},""modify"":{},""require"":{}},""stateNames"":[""require"",""modify"",""init"",""default"",""ignore""]},""strictMode"":false,""skipId"":true,""selected"":{},""fields"":{},""exclude"":null}",false,"{""is_deleted"":false,""_id"":""6317ffaeccc43ae16856d04b"",""email"":""stu@gmail.com"",""phone"":""9000123987"",""date"":""1/2/2022"",""details"":[{""id"":""1""}]}","stu@gmail.com","9000123987","1/2/2022","[{""id"":""1""}]"\r\n"{""activePaths"":{""paths"":{""is_deleted"":""default"",""_id"":""init""},""states"":{""ignore"":{},""default"":{""is_deleted"":true},""init"":{""_id"":true},""modify"":{},""require"":{}},""stateNames"":[""require"",""modify"",""init"",""default"",""ignore""]},""strictMode"":false,""skipId"":true,""selected"":{},""fields"":{},""exclude"":null}",false,"{""is_deleted"":false,""_id"":""6317ffaeccc43ae16856d04c"",""email"":""pqr@gmail.com"",""phone"":""8009988345"",""date"":""9/3/2022"",""details"":[{""id"":""1""}]}","pqr@gmail.com","8009988345","9/3/2022","[{""id"":""1""}]"\r\n"{""activePaths"":{""paths"":{""is_deleted"":""default"",""_id"":""init""},""states"":{""ignore"":{},""default"":{""is_deleted"":true},""init"":{""_id"":true},""modify"":{},""require"":{}},""stateNames"":[""require"",""modify"",""init"",""default"",""ignore""]},""strictMode"":false,""skipId"":true,""selected"":{},""fields"":{},""exclude"":null}",false,"{""is_deleted"":false,""_id"":""6317ffaeccc43ae16856d04d"",""email"":""nvu@gmail.com"",""phone"":""9567823456"",""date"":""7/9/2022"",""details"":[{""id"":""1""}]}","nvu@gmail.com","9567823456","7/9/2022","[{""id"":""1""}]"\r\n"{""activePaths"":{""paths"":{""is_deleted"":""default"",""_id"":""init""},""states"":{""ignore"":{},""default"":{""is_deleted"":true},""init"":{""_id"":true},""modify"":{},""require"":{}},""stateNames"":[""require"",""modify"",""init"",""default"",""ignore""]},""strictMode"":false,""skipId"":true,""selected"":{},""fields"":{},""exclude"":null}",false,"{""is_deleted"":false,""_id"":""6317ffaeccc43ae16856d04e"",""email"":""jkl@gmail.com"",""phone"":""1234567890"",""date"":""5/8/2022"",""details"":[{""id"":""2""}]}","jkl@gmail.com","1234567890","5/8/2022","[{""id"":""2""}]"\r\n"{""activePaths"":{""paths"":{""is_deleted"":""default"",""_id"":""init""},""states"":{""ignore"":{},""default"":{""is_deleted"":true},""init"":{""_id"":true},""modify"":{},""require"":{}},""stateNames"":[""require"",""modify"",""init"",""default"",""ignore""]},""strictMode"":false,""skipId"":true,""selected"":{},""fields"":{},""exclude"":null}",false,"{""is_deleted"":false,""_id"":""6317ffaeccc43ae16856d04f"",""email"":""abc@gmail.com"",""phone"":""5431265708"",""date"":""1/4/2022"",""details"":[{""id"":""2""}]}","abc@gmail.com","5431265708","1/4/2022","[{""id"":""2""}]"" }
expected output: Need to delete unnecessary columns("$__", "$isNew", "_doc") from the above output
Any help on how can I achieve this would be helpful.