MongoDB更新文档

Posted 步行者811

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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})

 



以上是关于MongoDB更新文档的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring Data MongodB 更新嵌入式 mongodb 文档中的数组字段?

03 MongoDB文档的各种增加更新删除操作总结

MongoDB 更新文档

03 MongoDB文档的各种增加更新删除操作总结

更新嵌套的 MongoDB 文档对象

MongoDB创建更新删除文档操作