可以使用以下语句来对已有数据的字段是一个map,追加一条数据:
db.collection.updateOne(
{ _id: ObjectId("doc_id") },
{ $addToSet: { map_field: { $each: [{ new_key: "new_value" }] } } }
)
这个语句将在名为map_field
的字段中添加一个新的键值对{new_key: "new_value"}
。如果该键值对已经存在,则不进行任何更改。使用\(addToSet和\)each使得可以一次性添加多个键值对。