用猫鼬存储时间的数据类型

Posted

技术标签:

【中文标题】用猫鼬存储时间的数据类型【英文标题】:data type to store time with mongoose 【发布时间】:2016-02-20 21:02:29 【问题描述】:

我必须使用 MEAN 堆栈为医生预约系统。在我的架构中,我必须存储插槽的开始时间和结束时间。 Mongoose 没有存储时间的数据类型。我应该使用什么数据类型来存储时间?

【问题讨论】:

【参考方案1】:

Mongoose 的 Date schema type 不仅代表日期,还代表完整的日期和时间时间戳,因此这是合乎逻辑的选择。

var slotSchema = new Schema(
    startTime: Date,
    endTime: Date,
    ...
);

【讨论】:

【参考方案2】:

您可以在定义 Schema 时将timestamps 属性设置为true,mongoose 会为您添加createdAtupdatedAt 字段。当您进行任何更新操作时,Mongoose 也会为您更新 updatedAt 字段。

var schema = new Schema(
    // ... Schema properties
, 
    timestamps: true
);

http://mongoosejs.com/docs/guide.html#timestamps

【讨论】:

为什么这被标记为正确答案?这根本没有意义 @JuanIgnacioMignacoFernández 我很好奇你为什么认为这根本没有意义?它从字面上说明了要做什么以及之后会发生什么。 因为他要求存储时间,而不是时间戳,在约会应用程序上存储时隙时间的开始时间或结束时间之上,与记录的 createAt/updatedAt 无关,即仅用于审计目的 是否有任何特定的数据类型只是 time 而不是 date 我可以像这样存储时间 10:12 pm 而不是 2021-06-22T21:30:34.736+00:00【参考方案3】:

Date 对象存储精确到毫秒的特定时刻。

见:http://www.robertprice.co.uk/robblog/2011/05/javascript_date_time_and_node_js-shtml/

更多关于猫鼬的信息:http://mongoosejs.com/docs/guide.html

【讨论】:

以上是关于用猫鼬存储时间的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Express,第二次调用then()函数,用猫鼬保存对象后返回未定义对象

我用猫鼬做这个 API Put 请求正确吗?

GraphQL 和猫鼬有啥区别?

猫鼬和浮点值

如何在猫鼬中将 ObjectId 设置为数据类型

国家电话代码前缀的猫鼬模式类型,例如“+44”