簡體   English   中英

Flask-Mongoengine API分頁

[英]Flask-Mongoengine API Pagination

我正在使用MongoDB和Flask為移動應用程序創建JSON API。

當應用程序調用/ topics /時,它將返回主題列表,但是我如何有效地分頁結果呢? MongoEngine提供了偏移量和限制,但是在限制等之前就獲取了整個結果集,如果我們有成千上萬的文檔,這並不是很有效。

@app.route('/topics/<int:limit>/<int:page>', methods=['GET'])
def get_topics(limit=25, page=1):
    if limit is None or limit <= 1: 
        limit = 2

    if page is None or page <= 1:
        page = 1

    offset = (page - 1) * limit
    topics = Topic.objects().limit(limit).skip(offset)

實際上,mongoengine在mongodb中使用limitskip參數進行查詢。 您可以通過對查詢使用explain進行驗證,並使其返回執行計划而不是結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM