Я пытаюсь обновить значение во вложенном массиве в схеме Мангуста с помощью Express.У меня есть код, необходимый для того, что я решил, что мне нужно обновить его, но массив не обновляется.
Таким образом, идея состоит в том, чтобы иметь возможность иметь массив схемы базы данных объектов с двумя полями, имя_схемы и schemaFields .Я хочу иметь возможность обновлять (добавлять / удалять) значения из schemaFields поля определенного объекта схемы по мере необходимости.
Я уже пробовал кучу вещей здесь и в других местах в Интернете, но, похоже, ничего не работает.Я пытался использовать findOneAndUpdate, findByIdAndUpdate и т. Д.
Моя схема Мангуста выглядит следующим образом:
let databaseSchema = new Schema({
schemaName: { type: String },
schemaFields: [String]
});
let databaseSchemas = new Schema(
{
dbSchemas: [databaseSchema]
},
{
collection: 'databaseSchemas'
}
);
Моя функция обновления выглядит следующим образом:
schemasModel.mongo
.update(
{
_id: req.body.documentId,
'dbSchemas._id': req.body.schemaId
},
console.log('preparin to push the field \n'),
{
$push: {
'dbSchemas.$.schemaFields': req.body.newField
}
}
)
.then(() => {
res.send('new field added successfully');
});