MongoDB排序数组

时间:2012-05-04 21:21:01

标签: mongodb mongodb-php mongodb-query

是否可以在审核日期之前对我的MongoDB评论数组进行排序?我是否必须在服务器端脚本中执行此操作,而不是使用查询运算符?如果是这样,我该怎么做?

{
  "review": [
    {
      "date": "2012-05-04 21:06:58",
      "review": "The Review",
      "name": "The Persons Name",
    },
    {
      "date": "2012-09-04 21:06:58",
      "review": "The Review",
      "name": "The Persons Name",
    },
    {
      "date": "2012-02-04 21:06:58",
      "review": "The Review",
      "name": "The Persons Name",
    }
  ],
  "category": "Category 1",
  "country": "USA",
  "date": "2012-05-04 21:06:58"
}

1 个答案:

答案 0 :(得分:2)

由于您将放在标记中,我假设您正在使用PHP。您可以为此创建自己的排序函数,并通过PHP usort()函数调用它。

function sort_date($a, $b)
{
    return (strtotime($a['date']) - strtotime($b['date']));
}

usort($reviews_array, 'sort_date');

上述代码将按日期按升序对评论进行排序。