文不對題,實際上不是時間戳,而是我們使用js取當前毫秒數,將他看為時間戳,每次updata的時候,獲取當前毫秒數,把它當做create_time的默認值,自動添加到我們的數據庫中,數據模型如下
開始的時候,沒有發現什么問題,當我需要根據時間戳對數據進行排序顯示的時候,這個時候問題來了,發然數據庫中,存儲的數據中存在大量,時間雷同的數據,如下
這個時候我就很尷尬了,自己在控制台測試如下
沒有相同的情況下,這是怎么回事呢?
default應該是固定值或者函數名, 寫成 new Date()
在服務器啟動的時候就會把執行結果當做默認值了~
請看測試:
發現問題了木有?兩條數據錄入的時間節點是一樣的。。。日了那啥了。。。
那么怎么辦呢?這里我找到了官方文檔,請看下面
修改后我們再次測試看
咦這下對了,這才是我們想要的嘛!好了問題解決了,乖,去寫代碼吧!
等等好像哪里不對!!!
其實有一點我沒有說清楚,好啦,給你看下面啦(😎)
其實這里有幾點,new Date().getTime() Date.now()的區別,還有就是為什么在mongoose中使用的是Date.now而不是Date.now(),后來我又測試了一下,發現使用Date.now()和使用new Date().getTime()會有相同的問題,但是這里Date.now明明是一個函數,這里並沒執行為什么會有時間節點進入數據庫呢,百思不得其解,看了mongoose文檔,也沒有找出原因?期待有緣人給我講解,么么噠