MongoDB更新文档

update() 和save()方法

update()方法更新现有文档中的值

方法:                                                        原先字段

> db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA)

如:

将为标题为“MongoDB Overview”的文档设置为“New Update MongoDB Overview”。

 

先进行查询操作:

> db.mycol.find({'title':'MongoDB Overview'},{'_id':1, 'title':1})

{ "_id" : 100, "title" : "MongoDB Overview" }

 更新操作

> db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New Update MongoDB Overview'}})

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> 查询更新后的结果 

> db.mycol.find({'_id':100},{'_id':1, 'title':1})

{ "_id" : 100, "title" : "New Update MongoDB Overview" }

 

默认情况下mongodb只会更新一个文档,如果更新多个文档,需将multi设置为true

>db.mycol.update({'title':'MongoDB Overview'}, {$set:{'title':'New Update MongoDB Overview'}},{multi:true})

 

save()方法

语法:

>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})

 

mongodb投影(选择字段)

MongoDB的find()方法,在 MongoDB 查询文档中此方法接收的第二个可选参数是要检索的字段列表。 在MongoDB中,当执行find()方法时,它默认将显示文档的所有字段。为了限制显示的字段,需要将字段列表对应的值设置为1或0。1用于显示字段,而0用于隐藏字段。

语法:

>db.COLLECTION_NAME.find({},{KEY:1})          必须有一个空的大括号{},多个字段一起放在一个大括号里,用逗号隔开,显示为1,隐藏为0

> db.mycollection.find({},{"title":1,"_id":0})

 

posted on 2017-11-01 19:23  步行者811  阅读(191)  评论(0编辑  收藏  举报

导航