MongoDB 更新文档
MongoDB 更新文档
MongoDB的update()和save()方法用于更新集合中的文档。update()方法会更新现有文件中的值,而save()方法会以save()方法传递的文件取代现有文件。
MongoDB的Update()方法
update()方法更新现有文件中的值
语法
>db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA)
例子
假设mycol集合有如下数据:
{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
下面的例子会把title为MongoDB Overview的值更新为New MongoDB Tutorial。
>db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}}) >db.mycol.find() { "_id" : ObjectId(5983548781331adf45ec5), "title":"New MongoDB Tutorial"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"} >
默认情况下,MongoDB值更新一个文档,如果要更新多个文档你需要把参数multi设置为true。
>db.mycol.update({'title':'MongoDB Overview'}, {$set:{'title':'New MongoDB Tutorial'}},{multi:true})
MongoDB的Save()方法
MongoDB的save()方法会以save()方法传递的文件取代现有文件
语法
>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})
例子
下面的例子会替换id为5983548781331adf45ec7的文档。
>db.mycol.save( { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point New Topic", "by":"Tutorials Point" } ) >db.mycol.find() { "_id" : ObjectId(5983548781331adf45ec5), "title":"Tutorials Point New Topic", "by":"Tutorials Point"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"} >