我试图通过一个日期对象字段对我的集合中的文档进行排序:
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"
},
任何想法??
答案 0 :(得分:5)
您不能使用$sort
的Mongoose风格的排序字符串,您需要使用一个对象:
MyModel.aggregate(
[
{ "$skip": ( page.current-1 ) * 15 },
{ "$limit": 15 },
{ "$sort": {"personal.dateObject": 1} }
],