猫鼬,更新时属性返回不足

时间:2019-11-16 11:12:28

标签: javascript mongoose

我的模式:

       ...
       var images = new Schema({
                name: String,
                poster: {
                  w: { type: Number, default: null },
                  h: { type: Number, default: null },
                  local: { type: String, default: null },
                  local2: { type: Object, default: null }
                }
        })
        ...

当我创建db.images.create({ name: 123 })时,它返回:

    {
      _id: <something object>,
      name: 123,
      poster: {
        w: null,
        h: null,
        local: null,
        local2: null
      }
    }

它真的很好,但是当我尝试更新时 db.images.updateOne({ _id: <Object _id> }, { poster:{ w: 10 } }) 它只会返回:

    {
      _id: <something object>,
      name: 123,
      poster: {
        w: 10
      }
    }

我要阻止发帖人中的所有字段,该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以将 select({poster:0}) updateOne()结合使用,它将阻止海报在更新后呈现。

答案 1 :(得分:0)

尝试一下:

db.images.updateOne({ _id: <id> }, { $set: { 'poster.w': 10 } })