2016-09-22 9 views
0

MongoDB Date Objectを文字列に変換したいと思います。MongoDBの日付書式をPythonの文字列に変換します(dateToStringを使用しないで)

ただし、私はMongoDB 2.6を実行しており、現時点ではアップグレードするオプションがないため、「dateToString」演算子を使用できません。

代わりに何を使用しますか?

問合せ:

computer = db['cmp_host'].aggregate([ 
     {"$project":{ 
      "u_ipv4": "$addresses.ipv4", 
      #"u_updated_timestamp": "$last_seen", 
      #"u_updated_timestamp": { $dateToString: { format: "%Y-%m-%d", date: "$last_seen" } } 
      } 
     } 
     ]) 

現在のMongoDB日付形式(人間が読める文字列に変換する必要があります):

datetime.datetime(2016, 9, 2, 12, 5, 18, 521000) 

答えて

1

datetime.datetime(2016, 9, 2, 12, 5, 18, 521000)は、Pythonのdatetime型の、ないのMongoDBのです。

文字列に変換するには、Python datetimeのstrftime()メソッドを使用できます。たとえば:strftime()

>>> d = datetime.datetime(2016, 9, 2, 12, 5, 18, 521000) 

>>> d.strftime('%Y-%m-%d') 
'2016-09-02' 

>>> d.strftime('%c') 
'Fri Sep 2 12:05:18 2016' 

完全な説明はここにある:https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

+0

は、私はMongoDBのクエリのコンテキストでそれを行うだろうか任意のアイデアをありがとう!ありがとう! – pengz

+0

残念ながらMongoDB 2.6でこれを行う方法はないと思います。アップグレードがオプションでない場合、結果の後処理が最も簡単な解決策になります。しかし、MongoDB 2.6の終わりに達しており、すぐにはサポートされないため、とにかくアップグレードすることをお勧めします。 –

関連する問題