根據_id 更新查詢mongo 數據


_id 是mongo 的對象,python從mongo中讀出來的數據類型是str 或者object 類

_id 是str類型時存在使用_id 更新數據失敗的情況

解決辦法 時導入 bson 里面的  ObjectId

import pandas as pd
import pymongo
from bson import ObjectId
client = pymongo.MongoClient().history_event_old['time_info']
path = 'history_event_old.xlsx'
df = pd.read_excel(path, keep_default_na=False)
values = df.values
for data in values:
    _id = data[0]
    print(_id)
    start_time = data[2]
    end_time = data[3]
    client.update_one({"_id": ObjectId(_id)}, {"$set": {"開始時間": start_time, '結束時間': end_time}})

bson模塊

是一種類json的一種二進制形式的存儲格式,簡稱Binary JSON,它和JSON一樣,支持內嵌的文檔對象和數組對象,但是BSON有JSON沒有的一些數據類型,如Date和BinData類型;
BSON有三個特點:輕量性、可遍歷性、高效性,但是空間利用率不是很理想
MongoDB使用了BSON這種結構來存儲數據和網絡數據交換;
比如
這是MongoDB 中的一條記錄 也是 一個簡單的BSON結構體,其中每一個element都是由key/value對組成的
把這種格式轉化成文檔這個概念(Document),因為BSON是schema-free的,所以在MongoDB中所對應的文檔也有這個特征 ;
Document可以嵌套 如 key: tagGroup marketing 是作為一個對象存在的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM