我正在使用 Hapi 在 node.js 中构建应用程序,并使用 Mongoose 在 Mongodb 中构建数据库。我有以下消息架构:
var schema = {
from : {
type : Schema.ObjectId,
ref : 'User'
},
content : {
type : String,
required : true
},
group : {
type : Schema.ObjectId,
ref : 'Group'
},
created : {
type : Number,
default : Date.now()
}
};
我希望架构中的created
字段是时间戳并且始终采用UTC。为此,我的客户端总是将其当前时间戳转换为 UTC 时间戳,然后发送到服务器。但是,我在服务器上找不到可能的方法来验证提供的时间戳是否已转换为 UTC。有什么方法可以在 Hapi/Mongoose 中强制执行该验证吗?
提前致谢。
编辑:
- 将
created
字段的类型更改为Number
,因为我想存储时间戳
而不是日期字符串。
最佳答案
Hapi 允许您在每个路由上拥有一个 validate
属性。在幕后,它使用 Joi 来验证此属性中提供的模式到有效负载、参数、查询字符串和 header :Route Configuration
使用此功能,您可以将您的created
字段验证为特定的日期格式:date.format()
例如,这将验证其是否符合 ISO 8601 格式:
validate: {
payload: {
created: Joi.date().iso();
}
}
关于javascript - 如何验证 mongoose/Hapijs 中发送的时间戳是否为 UTC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30826391/