【问题标题】:React-big-calendar - don't know how to store dates in mongoDBReact-big-calendar - 不知道如何在 mongoDB 中存储日期
【发布时间】:2021-09-16 11:49:40
【问题描述】:

我正在尝试通过 react-big-calendar 在我的日历中显示来自我的 mongo DB 的一些事件。

我知道所需的数据格式与他们的演示一样:

{
    id: 4,
    title: 'Some Event',
    start: new Date(2021, 3, 9, 0, 0, 0),
    end: new Date(2021, 3, 10, 0, 0, 0),
}

但我不知道如何将它存储在我的数据库中。它是什么类型的数据?当我从我的数据库中检索它时,是当我用'new Date()' 声明它的时候吗?它应该是一个字符串吗?

我尝试通过邮递员手动将日期存储在我的数据库中,以进行测试:

start: "2021, 8, 29, 9, 0, 0"

当我检索它时(带有请求结果的地图)我尝试执行“(新日期(mydata.start))”,但它显示“无效日期”

Axios 结果看起来不错,我正确地看到了标题,所以这不是问题。

我只需要一个可以发送到 mongoDB 以及在日历中检索和显示的数据示例。谢谢!

【问题讨论】:

    标签: reactjs mongodb axios react-big-calendar


    【解决方案1】:

    您将参数作为字符串存储到 Date 构造函数中,如果 start 是 Mongo 上的 Date,如果您尝试验证它会导致转换错误,因为该字符串无法传递到 new Date()

    如果start 是字符串,请使用以下内容:

    new Date(...mydata.start.split(", "))
    

    将参数传回,称为spread syntax。或者存储一个可以轻松转换为日期的字符串,例如使用(new Date(2021, 8, 29, 9, 0, 0)).toDateString() 或类似方法,然后您可以简单地使用new Date(mydata.start)

    直接存储为 Date 对象也是一个好主意:

    start: new Date(2021, 8, 29, 9, 0, 0)
    

    【讨论】:

      猜你喜欢
      • 2017-06-26
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      • 2022-12-21
      • 1970-01-01
      • 1970-01-01
      • 2023-02-02
      • 1970-01-01
      相关资源
      最近更新 更多