Mongoose change _id to id

mongodb, mongoose, node.js

Solution

if you want to hide __v in mongodb collection use versionKey: false in schema definition of collection.

example:

'use strict';

const mongoose = require('mongoose');

export class DeviceID extends mongoose.Schema {

    constructor() {
        super({
            device_id: String
        },
        {
            versionKey: false
        });
    }

}

Problem

I would like to know how can i change the _id to id virtually or anyways so the direct json output from the database looks pretty. Additionally i see a __v generated in my documents and not sure how to hide those fields.

Original source

Related problems