0

非常にうまく機能するpymongoを使用して、Pythonでクエリを実行しています。1 人のユーザーのエントリを返します。スクリプトの後半で、この結果を絞り込みたいと思います。毎日繰り返し、このユーザーに対して、この日だけでいくつのエントリがあるかを再度クエリします。

問題は、新しいクエリを作成する必要があるか、または既に持っているオブジェクトに対してクエリを実行できるかということです。

ありがとう

4

1 に答える 1

0

新しいクエリでデータベースに再度アクセスする代わりに、得られた結果を単純にフィルタリングすることはできませんか?

todays_entries = [item for item in iterable if function(item)]

説明:

クエリの結果はエントリのリストになります。最初にそのリストを何らかの方法で使用していると思いますが、コードの後半で、今日作成されたすべてのエントリをカウントしたいと考えています。

Python には、リストをフィルタリングする素晴らしい方法があります。これに関するドキュメントはここにあります:
Python Filter Function

上で書いたコードは、その関数をより Pythonic に使用する方法です。私はあなたのコードを持っていないので、あなたにとってどのように見えるかを推測することしかできません. 多分このようなもの:

todays_entries = [entry for entry in all_entries if entry.date == todays_date]

もちろん: entry.date は、todays_date と同等の形式である必要があります

于 2013-03-18T21:53:40.670 に答える