假设我有模特:
class A(Document):
a = IntField()
b = IntField()
c = IntField()
db中的文档:
{'a':1, 'b':1, 'c':1 }
{'a':1, 'b':1, 'c':2 }
{'a':1, 'b':2, 'c':1 }
查询:A.objects() 我得到所有文件
如何查询获取文档:
{'a':1, 'b':1, 'c':1 }
{'a':1, 'b':2, 'c':1 }
如果查询集包含具有相同值的文档,则应排除文档' a'和' b'一起。 此类文档只应包含在查询集中一次。
答案 0 :(得分:0)
一种方法是使用聚合,如下所示:
pipe = {"$group": {"_id": {"a": "$a", "b": "$b", "c": "$c"}}}
A.objects.aggregate(pipeline=pipe)
另一种方法是查询除_id
之外的所有字段,然后从结果中计算出唯一记录。