Мангуст не возвращает свойства, которые являются пустыми объектами

#javascript #node.js #mongodb #express #mongoose

Вопрос:

Когда я извлекаю записи из MongoDB, извлеченные документы не имеют свойств, существующих в базе данных, но являются пустыми объектами. Есть ли какая-то конфигурация, которую я должен добавить, чтобы получить также свойства, которые являются пустыми объектами?

Ответ №1:

Вам нужно установить minimize значение false.

Официальный пример:

 const schema = new Schema({ name: String, inventory: {} }, { minimize: false });
const Character = mongoose.model('Character', schema);

// will store `inventory` if empty
const sam = new Character({ name: 'Sam', inventory: {} });
await sam.save();
doc = await Character.findOne({ name: 'Sam' }).lean();
doc.inventory; // {}