1. 程式人生 > >MongoDB更新文檔

MongoDB更新文檔

mongodb ont 文檔 列表 multi itl mon 大括號 writer

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