$sort 键规范必须是一个对象

The $sort key specification must be an object

我正在尝试按日期对象字段对我的集合中的文档进行排序:

MyModel.aggregate(
    [
        { "$skip": ( page.current-1 ) * 15 },
        { "$limit": 15 },
        { "$sort": "$personal.dateObject" }
    ], function..................... etc

我收到这个错误:

{ [MongoError: exception:  the $sort key specification must be an object]
  name: 'MongoError',
  errmsg: 'exception:  the $sort key specification must be an object',
  code: 15973,
  ok: 0 }

我不知道为什么,因为 personal.dateObject 是一个对象:

示例:

   "personal": {
        "dateObject": {
            "$date": "2015-11-20T02:00:00.000Z"
        },

有什么想法吗??

您不能将 Mongoose 风格的字符串排序与 $sort 一起使用,您需要使用一个对象:

MyModel.aggregate(
    [
        { "$skip": ( page.current-1 ) * 15 },
        { "$limit": 15 },
        { "$sort": {"personal.dateObject": 1} }
    ],