搜尋

首頁  >  問答  >  主體

flask - 為什麼mongodb插入資料經常出現時間相同的情況

用 mongoengine 建立 collection,其中時間是這麼定義的

from mongoengine import Document, DateTimeField
import datetime

class Post(Document):
    created = DateTimeField(default=datetime.datetime.utcnow())

在插入數據的過程中,老是出現插入時間相同的情況,下麵這幾條都是我手動插入的數據,但是發現有些十句的時間居然是一模一樣的,下麵是讀出來的數據,可以看到好幾條時間一樣的,而這幾條數據中間都間隔了好幾分鍾的:

50f2bf6c674d9a1136de4964 • 2013-01-13 14:06:33.717000 • root • 0

50f2bf9c674d9a1136de4965 • 2013-01-13 14:06:33.717000 • root • 0

50f2bfc6674d9a1136de4966 • 2013-01-13 14:06:33.717000 • root • 0

50f2c01f674d9a1136de4967 • 2013-01-13 14:06:33.717000 • admin • 0

50f2c1b8674d9a1136de4968 • 2013-01-13 14:06:33.717000 • admin • 0

50f2b909674d9a1118d57170 • 2013-01-13 13:37:03.176000 • root • 0

50f2b681674d9a11023af511 • 2013-01-13 13:28:07.676000 • root • 0
高洛峰高洛峰2803 天前583

全部回覆(2)我來回復

  • 怪我咯

    怪我咯2017-04-21 11:00:02

    Django平台上有類似的問題,Post日期只在物件創建的時後生成,所以會出現時間相同的情況
    http://stackoverflow.com/questions/27...

    MongoEngine是藉鏡Django的

    解決方法:

    datetime.datetime.utcnow() 改为 datetime.datetime.utcnow 即可,看清這裡不要有括號

    回覆
    0
  • PHPz

    PHPz2017-04-21 11:00:02

    default=datetime.datetime.utcnow()

    估計是這裡先執行了datetime.datetime.utcnow()

    回覆
    0
  • 取消回覆