How to store a javascript error object with mongoose?

Let's say we have an error object like this:

const error = new Error('Error');

How can I store this in mongo? Tried to store it in a field with the type Object (Even tried the type Mixed) but it just stores an empty Object.

const UserLogSchema = new Schema(
    error: {
      type: Schema.Types.Mixed
    timestamps: true

const UserLog = mongoose.model('UserLog', UserLogSchema);

Adding the error:

const userLog = await UserLog.findOne({ _id: userLogID });

userLog.error = new Error('Error');


When we try to get the error later:

const userLog = await UserLog.findOne({ _id: userLogID });


It just prints {}. But the actual error is not empty.

2 answers

  • answered 2018-04-17 06:19 joshweir

    Is it sufficient solution to serialize the error object and store as a json string?

    error = new Error('ahhhh');
    errorJson = JSON.stringify(error, Object.getOwnPropertyNames(error));
    // output: {"stack":"Error: ahhhh\n    at <anonymous>:1:7","message":"ahhhh"}

    See similar question here, you could also use serialize-error package.

  • answered 2018-04-17 07:18 Mr. Raj Kale

    All you need is to create a schema in mongoose for storing error with two properties like


    something like this, and whenever you got an error access this scema and save it it the DB'errroObject',function(obj){}). This will save you information.