Mongoose задает значение по умолчанию как пустой объект

Я пытаюсь установить атрибут star_info как тип объекта (смешанная схема) и установить его по умолчанию как пустой объект, используя

star_info: { type : Schema.Types.Mixed, default : { }}

В базе данных нет поля star_info при сохранении документов. Как мне установить mongoose значение по умолчанию?

Ответы

Ответ 1

По умолчанию (чтобы свести к минимуму данные, хранящиеся в MongoDB), Mongoose не сохранит пустые объекты в вашей базе данных. Вы можете переопределить это поведение, установив флаг minimize на false при создании вашей схемы. Например:

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

Теперь star_info будет по умолчанию пустым объектом и сохранить в базе данных.

Подробнее на http://mongoosejs.com/docs/guide.html#minimize