Php MongoDB-存储毫秒而不是日期

Php MongoDB-存储毫秒而不是日期,php,mongodb,Php,Mongodb,我使用PHP作为服务器端语言。我从ajax请求中获取以毫秒为单位的日期,并将其转换为MongoDate,然后将其存储到MongoDB中。如下图所示 $date = new MongoDate($millisecond / 1000); $db->test->insert({"date": $date}); 同样,当我需要javascript中的日期时,我会获取MongoDate并将其转换为毫秒,然后将其传递给我的UI。如下 foreach($cursor as $row) {

我使用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?我仍然可以比较两个日期,即使我将其存储为毫秒


我将来还会面临其他任何缺点,尽管我会以毫秒的形式报告日期?

目前,我唯一能想到的是,如果日期字段实际存储为
ISODate
类型,那么它在聚合框架中的位置会有什么影响,我毫不怀疑,当铸造成为可能时,这种约束最终会改变(我希望看到这一点)


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

目前,我唯一能想到的地方是,如果日期字段实际存储为
ISODate
类型,那么它在聚合框架中的位置会很重要,我毫不怀疑,当铸造成为可能时,这种约束最终会改变(我希望看到这一点)


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

聚合框架当前仅在日期字段上使用函数。这可能会有帮助:您可以从MongoId对象提取日期/时间(包括毫秒)。@Sammaye您好,我将毫秒存储为数字。mongodb不允许在聚合中使用数字吗?目前不允许,如果您希望使用日期运算符,则它必须是一个日期字段,如果您不需要日期运算符,则不需要problem@Sammaye好啊这是正确的观点。你觉得还有其他缺点吗?聚合框架目前只在日期字段上使用函数。这可能有帮助:你可以从MongoId对象中提取日期/时间(包括毫秒)。@Sammaye嗨,我将毫秒存储为数字。mongodb不允许在聚合中使用数字吗?目前不允许,如果您希望使用日期运算符,则它必须是一个日期字段,如果您不需要日期运算符,则不需要problem@Sammaye好啊这是正确的观点。你觉得还有什么缺点吗?你说的“先生”是什么意思?@user10 Map Reduce抱歉,习惯于这样称呼?你说的“先生”是什么意思?@user10 Map Reduce抱歉,习惯于这样称呼