mongodb更新数据,查找相同的id,有重复的,就更新。
生活随笔
收集整理的這篇文章主要介紹了
mongodb更新数据,查找相同的id,有重复的,就更新。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在用mongodb保存一些爬蟲的數據。遇到問題就是,需要把那些重復的數據更新,這個網站是滾動的,以前爬到的數據,同一個頁面,可能現在有人回復了,頁面的內容頁就變了。向把以前保存過的數據再更新一下。不再重復保存。當然重復保存也可以,后期需要刪除重復的數據。最好還是更新。
使用mongodb 的update_one命令可以實現這種功能。
比如:
import pymongo client = pymongo.MongoClient() db = client.db collection = db.collectiondata1 = {"tid":1, "name":"jeck", "post":"right", "reply":"null"} data2 = {"tid":2, "name":"lucy", "post":"west", "reply":"yes"} data11 = {"tid":1, "name":"jeck_nuan", "post":"wrong", "reply":"unsat"} data22 = {"tid":2, "name":"lucy_johon", "post":"south", "reply":"sat"}collection.insert_many([data1, data2]) list(collection.find())collection.update_one({"tid":1}, {"$set":data11}, upsert=True) list(collection.find()) collection.update_one({"tid":2}, {"$set":data22}, upsert=True).modified_countres =collection.update_one({"tid":1}, {"$set":data11}, upsert=True) res.modified_count res = collection.update_one({"tid":2}, {"$set":data22}, upsert = True) res.modified_countupdate_one里的兩個參數 都要用大括號,第一個大括號是表示query,查詢是否有符合條件的記錄。比如查詢 tid 是1的記錄。第二個大括號表示更新數據,可以更新單個鍵值,但是我選擇更新整個記錄。需要把整個記錄傳給 set。這樣就可以得到需要的結果了。modified_count顯示是否完成了更新。
總結
以上是生活随笔為你收集整理的mongodb更新数据,查找相同的id,有重复的,就更新。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 印花税是按营业收入交吗
- 下一篇: pandas纵向合并数据