Допустим, у меня есть схема, которая выглядит следующим образом:
const Schema1 = new Schema({
field1: String,
field2: String,
array1: [{
objfield1: String
objfield2: Date,
objfield3: {
type: Schema.Types.ObjectId,
ref: 'OtherModel',
required: true,
},
}],
}, options);
Здесь array1
- это массив объектов. Я хочу быть в состоянии поразить конечную точку с запросом PUT и pu sh новый объект в массиве array1
. Я пытался использовать _.merge из loda sh, я пытался использовать push
, чтобы добавить новый объект в массив, но безрезультатно.
exports.addObject = async (req, res, next) => {
try {
let schemaInstance = await db.Schema1.findById(req.params.id);
schemaInstance['array1'].push(req.body)
schemaInstance.markModified('array1');
let updatedSchemaInstance = await schemaInstance.save();
return res.status('200').json(updatedSchemaInstance);
} catch (err) {
console.log(err);
return next({
status: 400,
message: 'No users in the database',
});
}
};