1

我正在尝试从 mongodb 的表中对学生列表进行排序。我正在使用龙卷风和蟒蛇。我正在使用Motorclient与 db 连接。使用时我得到了正确的结果students.find()

Sid = self.body['Sid']
data = []
_id = db.students.find({"Sid": Sid},{'_id': False,"status": False,"Dateofadmission":False})
for document in (yield _id.to_list(length=100)):
    data.append(document)
return[{"status code": 1,"studentInfo": data }]

现在,当我尝试排序和列出时,它给了我内部服务器错误,终端中没有错误记录。

_id = db.students.find({"Sid": Sid},{'_id': False,"status": False,"Dateofadmission":False}).sort({'Dateofadmission' : -1})

日期在 mongodb 中存储为:

{
    "_id" : ObjectId("56443dc03f32df1bf0e8b4e8"),
    "Dateofadmission" : ISODate("2015-10-22T00:00:00Z"),
    "Sid" : "56443dc03f32df1bf0e8b4e8",
    "Name" : "Ram"
}

有人请指导我如何根据Dateofadmission

4

1 回答 1

2

sort()inpymongo接受两个参数 - 一个键(或键列表)和方向。代替:

db.students.find({"Sid": Sid}, {'_id': False,"status": False,"Dateofadmission":False}).sort({'Dateofadmission' : -1})

和:

db.students.find({"Sid": Sid}, {'_id': False,"status": False,"Dateofadmission":False}).sort('Dateofadmission', pymongo.DESCENDING)
于 2015-11-13T05:40:56.560 回答