在mongodb pymongo中按日期排序

时间:2016-09-08 18:26:16

标签: mongodb pymongo

我有像下面的数据库条目我想按add_on排序,但它给出错误。我们是否有某种方式按此格式对日期进行排序,或建议使用其他格式的存储日期

{
    "_id" : ObjectId("57d1a9dc1170b35414a180d7"),
    "c" : "TPCG",
    "modified_on" : ISODate("2016-09-08T18:11:40.150Z"),
    "euuu" : "5",
    "owner" : null,
    "added_on" : ISODate("2016-09-08T18:11:40.150Z")
}

错误

> db.testjobs.find({'add_on':{$lte: ISODate("2016-09-08T18:11:40.150Z")}}).sort('added_on',-1).limit(3)
Error: error: {
    "$err" : "Can't canonicalize query: BadValue sort must be object or array",
    "code" : 17287
}

>db.testjobs.find().sort('added_on',-1)
Error: error: {
    "$err" : "Can't canonicalize query: BadValue sort must be object or array",
    "code" : 17287

1 个答案:

答案 0 :(得分:3)

我认为这是一个你忽略的小问题:)

第一个语句包含一个过滤器" add_on'而不是" added_on'。 两者都包含排序(' added_on',-1')这应该是排序(' added_on': - 1)

db.testjobs.find({'added_on':{$lte: ISODate("2016-09-08T18:11:40.150Z")}}).sort('added_on' : -1).limit(3)})

db.testjobs.find().sort('added_on':-1)

两人都在这里工作。