私は複数のドキュメントを含む mongo コレクションを持っています。次のように仮定します (Tom には何らかの理由で 2012 年に歴史の教師が 2 人いたと仮定します)。
{
"name" : "Tom"
"year" : 2012
"class" : "History"
"Teacher" : "Forester"
}
{
"name" : "Tom"
"year" : 2011
"class" : "Math"
"Teacher" : "Sumpra"
}
{
"name" : "Tom",
"year" : 2012,
"class" : "History",
"Teacher" : "Reiser"
}
「トム」がこれまでに持っていたすべての個別のクラスを照会できるようにしたいのですが、トムは複数の「歴史」クラスを複数の教師と持っていましたが、トムがいるような最小数のドキュメントをクエリで取得したいだけです「History」を含む複数のドキュメントを含むクエリ結果が繰り返されるのとは対照的に、「History」は 1 回だけ表示されます。
私は見ました: http://mongoengine-odm.readthedocs.org/en/latest/guide/querying.html
次のようなことを試してみたい:
student_users = Students.objects(name = "Tom", class = "some way to say distinct?")
文書化されていないようですが。これが構文的に正しい方法ではない場合、これはmongoengineで可能ですか、またはpymongoのような他のライブラリで達成する方法はありますか? それとも、Tom ですべてのドキュメントをクエリしてから、後処理を行って一意の値を取得する必要がありますか? 構文は、どのような場合でも高く評価されます。