2017-04-14 61 views
1

如何在需要複雜路徑的情況下使用datetime對象?例如,我要增加計數器,它位於jumps/datetime.date()/country code在Pymongo查詢路徑中使用datetime的最佳做法?

database['data'].update_one(
       {'some_data' : 'asdasd'}, 
       {'$inc' : {'jumps.{}.{}'.format(datetime.now().date(), "US") : 1}}, 
      ) 

此代碼的工作,但(如預期)有一個字符串,而不是DateTime對象:

"jumps" : { 
    "2017-04-14" : { 
     "US" : 4 
    } 
} 
+0

如何你保存你的數據,哪裏有一些關鍵字日期對象?你能舉一個例子嗎? –

回答

1

這是不可能的店日期對象作爲mongodb文檔中的鍵。 另外,您不應將值用作鍵,因爲您無法在查詢或索引中使用鍵。如果您更改文檔的結構並簡化它,情況會更好。

類似的東西:

"jumps" : {[ 
    {'date': ISODate('2017-04-14'), "US" : 4}, 
    {'date': ISODate('2017-04-14'), "RU" : 9} 
]} 

,或者可以創建新的集合jumps其中將包含文件:

{'date': ISODate('2017-04-14'), "US" : 4} 
{'date': ISODate('2017-04-14'), "RU" : 9} 

或其他結構

看看這篇文章https://derickrethans.nl/mongodb-arbitrary-key-names.html