【问题标题】:MongoDB PHP get unique month namesMongoDB PHP 获得唯一的月份名称
【发布时间】:2010-12-12 13:25:52
【问题描述】:

我的新闻集中有一个 created-at 字段来保存日期

"created-at": new Date(2010, 11, 5);

我在 PHP 中使用日期函数来获取月份名称

date('F', $obj['created-at']->sec);

我想做的是让它只输出唯一的月份名称,所以不要说:
十一月,十一月,十二月

我希望它输出:
十一月,十二月

我尝试过使用 distinct,但在我的情况下它不起作用

$db->command(array("distinct" => "news", "key" => "created-at"));

无论如何我可以从 created-at 字段中输出唯一的月份名称吗?还是我必须添加一个月份名称字段并使用 distinct 代替?

【问题讨论】:

    标签: php mongodb mongoid


    【解决方案1】:

    不是一个最佳解决方案,但如果有人感兴趣,我这样做是为了获得唯一的月份名称

    我结束了创建数组 $stack 并使用 array_push 将所有月份名称推送到堆栈 然后我使用 array_unique 来获取堆栈中的所有唯一值

    【讨论】:

    • 如果你想让这更高效一点,将结果作为数组的键而不是值推送,然后使用 array_keys() 获取最终集合。如: $months[$month] = true; return array_keys($months);
    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 2011-03-12
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多