У меня есть база данных MongoDB, заполненная твитами, которые я собрал с помощью tweepy API, и я хочу иметь возможность искать в веб-приложении хэштег, и он показывает твиты, содержащие этот хэштег.
В настоящее время я создал список с записями в БД и перебираю этот список, чтобы отобразить их все, но теперь я хочу уточнить поиск, чтобы пользователь мог выбирать, что он видит.У меня есть поиск пользователей, сохраненный в переменной, и я попробовал следующие идеи, но ни одна из них, похоже, не работает.
Моей первой идеей было просто передать переменную и надеяться на лучшее
def display():
input = request.form['input'] # setting variable for user input
# Set up Mongo Client
client = MongoClient("mongo.user/pass")
# Accessing database
db = client.tweets
# acessing a collection
posts = db.posts
data = list(posts.find(input))
return render_template('results.html', posts_info=data)
С этим я получаю ошибку TypeError, которую я несколько ожидал, поскольку не ожидал, что это будет так просто
После некоторого чтения в Интернете я попытался использовать регулярное выражение.
def display():
input = request.form['input'] # setting variable for user input
# Set up Mongo Client
client = MongoClient("mongo.user/pass")
# Accessing database
db = client.tweets
# acessing a collection
posts = db.posts
data = list(posts.find({Tweet: {$regex: input}}))
return render_template('results.html', posts_info=data)
Это также не сработало, поэтому я попытался жестко запрограммировать регулярное выражение, чтобы выяснить, не является ли это пользовательская переменная ввода, создающая проблемы
def display():
input = request.form['input'] # setting variable for user input
# Set up Mongo Client
client = MongoClient("mongo.user/pass")
# Accessing database
db = client.tweets
# acessing a collection
posts = db.posts
data = list(posts.find({Tweet: {$regex: "GoT"}}))
return render_template('results.html', posts_info=data)
С обоими этими методами я получаюсинтаксические ошибки в начале выражения регулярного выражения и помечает $
до regex
сообщение об ошибке, которое я получаю, гласит:
File "pathToWebApp/webApp.py", line 71
data = list(posts.find({Tweet: {$regex: input}}))
^
SyntaxError: invalid syntax
Я никогда не работал с MongoDB илииспользовал регулярные выражения, так что я в полной растерянности здесь.Я просмотрел документы по монго, но ничего из того, что я пробовал, не работает, поэтому любая помощь от кого-либо будет принята с благодарностью