Я пытаюсь разбить серию постов на блог.У меня есть конвейер, который выводит хорошо отсортированные записи, и я пытаюсь использовать фасет для разбивки результатов.Skip и limit работают, но когда я передаю номер страницы из URL с http://localhost:5000/?page=4 в конвейер, ничего не меняется.Я до сих пор просто получаю первые 5 (или сколько я установил ограничение) сообщений
def posts_with_comment_count(page):
pipeline = [
{"$lookup": {
"from": "comment",
"localField": "_id",
"foreignField": "post_id",
"as": "comment_count"
}},
{"$addFields": {
"comment_count": {"$size": "$comment_count"}
}},
{"$sort": {"_id": -1}},
{'$facet': {
"metadata": [{"$count": "total"}, {"$addFields": {"page": int(page)}}],
"data": [{"$skip": 0}, {"$limit": 5}]
}}
]
posts = list(mongo.db.posts.aggregate(pipeline))
return posts
@app.route("/")
@app.route("/home")
@app.route("/index")
def home():
page = request.args.get('page', 1, type=int)
data = posts_with_comment_count(page)
def posts():
for post in data:
return post['data']
return render_template('home.html', posts=posts())