How to export MongoDB data to CSV file without unnecessary columns like "$__", "$isNew", "_doc"

Viewed 33

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""}]"" }

MY CSV EXPORT

expected output: Need to delete unnecessary columns("$__", "$isNew", "_doc") from the above output

EXPECTED CSV EXPORT

Any help on how can I achieve this would be helpful.

0 Answers
Related