flask mongodb 分页

from flask import Flask,request
from flask_pymongo import PyMongo,DESCENDING,ASCENDING
from flask import jsonify
from flask_cors import CORS
import json

app = Flask(__name__)
CORS(app, resources=r'/*')
app.config['MONGO_DBNAME'] = 'dbname'
app.config['MONGO_URI'] = 'mongodb://localhost:27017/dbname'
app.url_map.strict_slashes = False
app.config['JSON_AS_ASCII'] = False

mongo = PyMongo(app)
@app.route('/api/data',methods=['GET'])
def index():
    # todos = mongo.db.slient.find({})
    # star = mongo.db.slient.find().sort([('_id',DESCENDING)])
    # 每页数据展示
    page = int(request.args.get('page', 1))        # 当前在第几页
    print(page)
    per_page = int(request.args.get('per_page', 10))           # 每页几条数据
    finder = request.args.get('finder', {})            # 此处{}为str格式,需转换为dict格式
    finder=json.loads(finder)          # 转化为dict格式
    # 总页数查询
    count = mongo.db.slient.find(finder).count()
    if count%10 > 0:
        total_page = int(count/10 +1)
    else:
        total_page = int(count/10)
    # 分页查询
    star = mongo.db.slient.find(finder).sort([('_id', DESCENDING)]).skip(per_page*(page-1)).limit(10)

mongodb 分页方式

 mongo.db.slient.find(finder).sort([('_id', DESCENDING)]).skip(per_page*(page-1)).limit(10)

其中,sort表示以哪个字段什么方式进行排序(ASCENDING为升序,DESCENDING为降序)
skip 表示跳过多少数据开始读取
limit 表示读取数据限制条数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容