我有一个包含多个文档的 mongo 集合,假设如下(假设汤姆在 2012 年有两位历史老师,无论出于何种原因)
{
"name" : "Tom"
"year" : 2012
"class" : "History"
"Teacher" : "Forester"
}
{
"name" : "Tom"
"year" : 2011
"class" : "Math"
"Teacher" : "Sumpra"
}
{
"name" : "Tom",
"year" : 2012,
"class" : "History",
"Teacher" : "Reiser"
}
我希望能够查询“汤姆”曾经上过的所有不同的课程,即使汤姆有多个有多个老师的“历史”课程,我只想查询得到汤姆所在的最少数量的文档所有这些,并且“历史”出现一次,而不是让查询结果包含多个重复“历史”的文档。
我看了看: 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 查询所有文档,然后进行一些后处理以获得唯一值?对于任何情况,语法都会受到赞赏。