#node.js #mongoose #mongoose-schema
#node.js #мангуст #mongoose-схема
Вопрос:
У меня есть одна модель
const ModelSchema = new Schema({
assetObj: {
title: {
type: String,
default: "untitled"
},
description: {
type: String,
default: "unavailable"
},
pageNo: {
type: Number
}
},
....
});
Я хочу обновить заголовок только в этой модели.
Поэтому я создаю здесь код.
let updateQuery = {};
updateQuery.assetObj = {
title: 'New Title'
};
await Model.update({ _id: req.params.id }, { $set: updateQuery });
Но в результате удаляется описание и страница в модели.
Как я могу обновить только заголовок в модели mongoose?
Комментарии:
1. используйте что-то похожее на эту модель ожидания.update({ _id: req.params.id }, { $set: { assetObj.title : Новый заголовок’ }
2. @Shubham Tiwari Спасибо, Так вот как это? updateQuery = { «assetObj.title»: ‘Новый заголовок»}
3. это переопределит целые данные
4. @ShubhamTiwari Я решил свою проблему с помощью вашего метода. Спасибо.
Ответ №1:
Я нашел ответ. Мне нужно изменить имя поля на «some.some». Так что я изменился, как дома.
let updateQuery = { "assetObj.title": 'New Title"};
await Model.update({ _id: req.params.id }, { $set: updateQuery });