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)

扫一扫关注IT屋

微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值