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})