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更新文檔