У меня есть веб-приложение Flask, которое использует PRAW для сбора представлений Reddit и сохранения в коллекции MongoDB. Когда дело доходит до просмотра коллекции, я хотел бы сначала просмотреть по самым последним датам представления, в настоящее время коллекция не просматривается. в любом порядке?
Вот скрипт, который я использую для заполнения моей коллекции MongoDB:
#! usr/bin/env python3
# data_ingestion.py
import praw
from pymongo import MongoClient
import json
from datetime import datetime
import logging
# setting your local MongoDB instance to a var called MONGO_HOST
MONGO_HOST = 'mongodb://localhost:27017/gm_sandbox'
client = MongoClient(MONGO_HOST)
db = client.gm_sandbox
# setting up PRAW OAuth
reddit = praw.Reddit(client_id='id',\
client_secret='client_server',\
user_agent='reddit-top-posts',\
username='username',\
password='password'
# flushing collection before inserting new documents
db.top_reddit_posts.drop()
# filtering PRAW by subreddit
subreddit = reddit.subreddit('datascience').top('week')
# creating document:
for post in subreddit:
utc_date = post.created_utc
parsed_date = datetime.utcfromtimestamp(utc_date)
data = {
'title': post.title,
'date': utc_date,
'date_str': parsed_date.strftime('%Y-%m-%d'),
'score': post.score,
'url': post.url,
'sub': str(post.subreddit),
'commentsUrl': post.url
#'author': str(post.author)
}
# inserting documents into MongoDB collection.
db.top_reddit_posts.insert_one(data)
Вот функция, которую я использую, чтобы показать и заказать мою коллекцию:
def all_dates():
dates = posts_get_distinct_items('date_str')
return render_template(
'all-dates.html',
dates=reversed(dates) # latest date on top
)
Приложение показывает список дат для каждого представления Reddit, но даты не отсортированы и находятся в случайных позициях?
несортированные даты отправки