只在MongoDB中存储时间

Posted

技术标签:

【中文标题】只在MongoDB中存储时间【英文标题】:Store only time in Mongodb 【发布时间】:2019-09-11 21:43:01 【问题描述】:

我需要存储在 MongoDB 中。用户只输入时间,例如“05:20”为字符串,这次需要转换保存。

有什么建议吗?

我一直在尝试使用 Date 对象,但没有成功。

【问题讨论】:

可能你有一些源代码要展示? 您使用什么语言来占用用户时间?你都尝试了些什么?你必须给我们一些东西来帮助你。 请大家注意。但我得到了我需要的答案。我在前端使用 Angular,在后端使用 nodeJs。 ***.com/questions/15780415/… 【参考方案1】:

基本上你有两个选择:

    节省时间type: String

    type: Date中保存日期时间

但在第二个选项中,您必须创建 Date 对象并设置小时和分钟:

   const userInput = '05:20';
   const hours = userInput.slice(0, 2);
   const minutes = userInput.slice(3);

   const date = new Date(dateString);
   date.setHours(hours, minutes);

【讨论】:

伙计,你的回答太棒了!!它解决了我的问题。非常感谢!!! 我们在查询中执行where条件是否有效? 我遇到了这种情况,发现了这篇文章。我认为另一种解决方案是将 HH:mm 格式存储为数字('08:00' 为 800,'6pm' 为 1800)。我认为这适用于 24 小时格式,但不适用于 12 小时格式,而且我们可以更好地处理我认为主要目的的查询。 const workingDaysSchema = new mongoose.Schema( day: type: Day, startTime: type: Number, default: 800, endTime: type: Number, default: 1800, , _id : false );

以上是关于只在MongoDB中存储时间的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB Indexes

.Net Core 上的 GraphQL、MongoDB - 中间件?

Mongodb集群形式探究-一主一从一仲裁。

mongodb:从 json 查询中的 ObjectID 中提取时间戳

mongodb:从 json 查询中的 ObjectID 中提取时间戳

MongoDB限制存储大小?