正在更新mongoldb集合中的单个字段

Updating a single field in mongoldb collection

本文关键字:单个 字段 集合 更新 mongoldb      更新时间:2023-09-26

我想更新字段editing:

{
    "_id" : "C7PgEtzToNwHgJb6e",
    "metadata" : {
        "type" : "anything",
        "editing" : false
    }
}

如果我这样做…

Collection.update(
    { _id: id },
    { $set: { metadata: { editing: true } } }
);

字段type将被删除:

{
    "_id" : "C7PgEtzToNwHgJb6e",
    "metadata" : {
        "editing" : true
    }
}

使用dot表示法可以确保只更新字段值,而不是整个字段:

Collection.update(
    { _id: id },
   { $set: { "metadata.editing": true } } }
);