Mongoose set default as empty object

Solution 1:

By default (in an effort to minimize data stored in MongoDB), Mongoose will not save empty objects to your database. You can override this behavior by setting the minimize flag to false when you create your schema. For example:

const schema = new Schema({
  star_info: { type: Schema.Types.Mixed, default: {} }
}, { minimize: false })

Now star_info will default to an empty object and save to the database.

Read more at http://mongoosejs.com/docs/guide.html#minimize

Solution 2:

If you don't mind empty objects being omitted from the database, but you want them in your JSON, just use obj.toJSON({minimize: false})