关于使用mongodb中遇到的时间戳雷同的问题
文不对题,实际上不是时间戳,而是我们使用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文档,也没有找出原因?期待有缘人给我讲解,么么哒