我的模式:
...
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
}
}
我要阻止发帖人中的所有字段,该怎么办?
答案 0 :(得分:0)
您可以将 select({poster:0})与 updateOne()结合使用,它将阻止海报在更新后呈现。
答案 1 :(得分:0)
尝试一下:
db.images.updateOne({ _id: <id> }, { $set: { 'poster.w': 10 } })