1

我使用 PHP 作为服务器端语言。我从我的 ajax 请求中以毫秒为单位获取日期并将其转换为 MongoDate,然后将其存储到 MongoDB 中。如下所示。

$date = new MongoDate($millisecond / 1000);
$db->test->insert({"date": $date});

同样,当我在我的 javascript 中需要日期时,我得到 MongoDate 并转换为毫秒并将其传递给我的 UI。像下面

foreach($cursor as $row) {
    $row["date"] = $row["date"]->sec * 1000;
}

相反,为什么我不应该将日期存储为毫秒而不是 Dateobject?我仍然可以比较两个日期,即使我将它存储为毫秒。

当我以毫秒为日期进行报告时,我将来会面临任何其他缺点吗?

4

1 回答 1

1

目前,我唯一能想到的唯一地方是,如果日期字段实际存储为ISODate类型是在聚合框架内,那么我毫不怀疑,当强制转换成为可能时,这种约束最终会改变(我想查看)。

除此之外,您的值很容易在 PHP/任何其他语言和 Map Reduces 自己的日期构造中使用。考虑到这一点,如果您不需要聚合框架日期运算符,我认为没有问题。

于 2013-09-05T13:14:56.910 回答