Я запускаю веб-сервис с функцией api, которая использует метод, который я создал для взаимодействия с MongoDB, используя pymongo.
Данные json, поставляемые с post, могут включать или не включать поле: firm
. Я не хочу создавать новый метод для постов, который не включает поле firm
.
Так что я хочу использовать этот firm
в pymongo.find
, если он существует, или я хочупросто пропустите это, если это не так. Как я могу сделать это с использованием одной функции API и одного метода pymongo?
API-функция:
@app.route(f'/{API_PREFIX}/wordcloud', methods=['POST'])
def generate_wc():
request_ = request.get_json()
firm = request_.get("firm").lower()
source = request_["source"]
since = datetime.strptime(request_["since"], "%Y-%m-%d")
until = datetime.strptime(request_["until"], "%Y-%m-%d")
items = mongo.get_tweets(firm, since, until)
...
Pymongoметод:
def get_tweets(self, firm: str, since: datetime, until: datetime):
tweets = self.DB.tweets.find(
{
# use firm here if it exists (I mean not None), else just get items by date
'date': {'$gte': since, '$lte': until}
})
...
Здесь во втором коде строка комментария в find
.
Спасибо.