本文實例講述了python根據(jù)時間生成mongodb的ObjectId的方法。分享給大家供大家參考。具體分析如下:
mongodb的_id為ObjectId類型,ObjectId內(nèi)是包含時間戳信息的,這樣我們在保存數(shù)據(jù)的時候就不需要再單獨記錄一個添加時間了,如果需要按照時間查詢,我們可以先把時間變化成可查詢的ObjectId,再通過_id字段查詢,由于mongodb的_id是主鍵,查詢效率非常高。下面的函數(shù)給出了如何把時間換算成ObjectId,同時該函數(shù)還可以指定時間的偏移量,比如多少天前的時間。
代碼如下:def object_id_from_datetime(from_datetime=None,span_days=0,span_hours=0,span_minutes=0,span_seconds=0,span_weeks=0):
'''根據(jù)時間手動生成一個objectid,此id不作為存儲使用'''
if not from_datetime:
from_datetime = datetime.datetime.now()
from_datetime = from_datetime + datetime.timedelta(days=span_days,hours=span_hours,minutes=span_minutes,weeks=span_weeks)
return ObjectId.from_datetime(generation_time=from_datetime)
希望本文所述對大家的Python程序設(shè)計有所幫助。
新聞熱點
疑難解答
圖片精選