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 表示读取数据限制条数