我正在将Mongoose&Node.js用于我的Web服务器。
作为我的一个文档架构的一部分,我有一个“时间戳”字段。模式中的这一行是: timestamp: { type: Date, default: Date.now }
timestamp: { type: Date, default: Date.now }
这样可以很好地工作,并允许我基于时间戳检索文档,但是,该格式另存为ISODate格式,如下所示:http ://docs.mongodb.org/manual/core/document/#date ,如下所示:
"timestamp":"2013-04-04T19:31:38.514Z"
我对此不介意,但是我将其原样发送给客户端。这意味着我必须先在客户端使用Date.parse()才能进行比较操作。
有什么方法可以将日期存储为整数,或者在检索日期时将其自动转换为整数?
我有什么理由应该保留它的状态,只在客户端处理它?
提前致谢。
您可以在架构上将数字毫秒版本添加timestamp为虚拟属性:
timestamp
schema.virtual('timestamp_ms').get(function() { return this.timestamp.getTime(); });
然后,可以toObject通过模式上的选项启用虚拟字段包含在模型实例的调用中:
toObject
var schema = new Schema({ timestamp: Date }, { toObject: { getters: true } });