MongoDB 排序数组

标签 mongodb php-mongodb 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"
}

最佳答案

自从你输入 在标签中,我假设您正在使用 PHP。您可以为此创建自己的排序函数并由 PHP usort() 调用它。功能。

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

usort($reviews_array, 'sort_date');

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

关于MongoDB 排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456285/

相关文章:

c++ - 将 MongoDB 查询转换为 C++ 查询时遇到问题

c# - Mongodb Cursor,如何遍历巨大的集合?

javascript - 在按钮上使用 'this' 的 jQuery 选择

mysql - 在 MySQL 中从 mongoDB 模拟 geoNear 或 near

MongoDB:在多个键上执行 $inc

php - 将每个mongodb记录输出到html表中

mongodb - 在 MongoDb 中获取不同级别的数组字段

mongodb - 如何使用 MongoDB 过滤子文档中的数组

mongodb - 如何 - 单个 MongoDB 上的多个 Meteor 应用程序 - 相同的集合?

php - MongoDB 和 PHP 库游标超时