mongodb增加修改字段

mongodb的文章中说:
http://docs.mongoing.com/manu...

MongoDB使用动态模式。你可以建立一个没有预定义模式的集合。你可以通过直接在文档内增加或删除字段的方式修改文档的结构。文档在一个集合内不需要有相同的字段集。

问题:
我想增加字段,修改字段名称,怎么操作呢?

阅读 15.2k
2 个回答

增加字段 : "Season"
{ $set: { <field1>: <value1>, ... } }

修改字段名称 : "team"→"NBA Team"
{$rename: { <field1>: <newName1>, <field2>: <newName2>, ... } }

mongo-shell完整示例代码:

use nba
db.createCollection(players)
db.players.insert({"team":"Cleveland","firstname":"Irving","lastname":"Kyrie"})
db.players.update({"firstname":"Irving"},{$set:{"team":"Cletics","Season":"2017~2018"}})
db.players.update({"firstname":"Irving"},{$rename:{"team":"NBA Team"}})

记录一下数据变化:

{ "_id" : ObjectId("59a1a734c8143c78793d3da6"), "firstname" : "Irving", "lastname" : "Kyrie", "team" : "Cleveland" }
{ "_id" : ObjectId("59a1a734c8143c78793d3da6"), "firstname" : "Irving", "lastname" : "Kyrie", "team" : "Cletics", "Season" : "2017~2018" }
{ "_id" : ObjectId("59a1a734c8143c78793d3da6"), "firstname" : "Irving", "lastname" : "Kyrie", "NBA Team" : "Cletics", "Season" : "2017~2018" }

$set
用来指定一个键并更新键值,若该键不存在,会自动创建新的键和健值。
{ $set : { field : value } }

$rename
修改字段名称,
{ $rename : { old_field_name : new_field_name } }

具体MongoDB中几个常用的原子操作,可以参考如下文章:

http://forum.foxera.com/mongo...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进