猫鼬只更新选定的字段

mongoose update only selected field

我有一个模型

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 模型中只更新标题?

我找到了答案。 我需要将字段名称更改为“some.some”。 所以我改变了。

let updateQuery = { "assetObj.title": 'New Title"};
await Model.update({ _id: req.params.id }, { $set: updateQuery });