python時間に応じてmongodbのObjectIdを生成する方法

907 ワード

この例では、pythonが時間に応じてmongodbのObjectIdを生成する方法について説明します.皆さんの参考にしてください.具体的な分析は以下の通りである.
mongodbの_idはObjectIdタイプで、ObjectIdにはタイムスタンプ情報が含まれています.これにより、データを保存するときに追加時間を単独で記録する必要はありません.時間通りにクエリーする必要がある場合は、まずクエリー可能なObjectIdに時間を変更してから、idフィールドクエリ、mongodbの_idはプライマリ・キーであり、クエリーの効率が非常に高い.次の関数は、時間をObjectIdに換算する方法を示します.また、数日前の時間など、時間のオフセット量を指定することもできます.

   def object_id_from_datetime(from_datetime=None,span_days=0,span_hours=0,span_minutes=0,span_seconds=0,span_weeks=0): 
  
    ''' 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プログラム設計に役立つことを願っています.