天天看點

python 字段升序_python - 資料庫字段排序問題

問 題

1、資料庫

{'cishu': 372, 'title': '鎮中心國小廁所問題'}

{'cishu': 388, 'title': '私搭亂建'}

{'cishu': 222, 'title': '新生兒落戶收費麼?'}

{'cishu': 341, 'title': '44路車不按時間發車越來越嚴重'}

2、我想以cishu為參考做個排序

for i in info.find({},{'title':1,'_id':0}).sort({"cishu":-1}):

print(i)

我寫了這個進行排序,總是報錯,剛初學,不知道怎麼做這個排序。。。

報錯内容

TypeError: if no direction is specified, key_or_list must be an instance of list

3、弄不明白之後,然後我嘗用管道進行排序,倒是出來了結果,隻有次數,不會把title弄出來。。。

def cishu():

pipeline = [

{'$group': {'_id':'$cishu'}},

{'$sort':{'_id':-1}},

{'$limit':100}

]

for i in item_info.aggregate(pipeline):

data = {

'name': i['_id'],

}

print(i)

出來的結果是

{'_id': 388}

{'_id': 372}

{'_id': 341}

{'_id': 222}

我想要的結果是

{'cishu': 388, 'title': '私搭亂建'}

{'cishu': 372, 'title': '鎮中心國小廁所問題'}

{'cishu': 341, 'title': '44路車不按時間發車越來越嚴重'}

{'cishu': 222, 'title': '新生兒落戶收費麼?'}

我怎麼讓他全面的出來結果。。。小白苦惱,請大俠幫忙看看

解決方案

sort裡面這樣寫[("cishu",pymongo.DESCENDING)],如果多值排序的話[("key1",pymongo.DESCENDING),("key2":pymongo.DESCENDING)] . 詳細見代碼

from pymongo import MongoClient

import pymongo

client = MongoClient()

#建立連接配接

conn = MongoClient('127.0.0.1', 27017)

#連接配接資料庫

db = conn.qwer

datas = db.test.find({}, {"cishu":1,"title":1,"_id":0}).sort([("cishu",pymongo.DESCENDING)])

for data in datas:

print(data)

python 字段升序_python - 資料庫字段排序問題

掃一掃關注IT屋

微信公衆号搜尋 “ IT屋 ” ,選擇關注與百萬開發者在一起