MongoDB - Distinct() 方法
在 MongoDB 中, distinct()方法在单个集合中查找给定字段的不同值,并在数组中返回结果。它需要三个参数,第一个是返回不同值的字段,其他是可选的。
- 如果您在分片集群中使用此方法,则此方法可能会返回孤立文档。
- 在此方法中,如果给定字段的值是一个数组,则此方法将每个数组值视为一个单独的值。例如,如果指定字段的值为[2, [23], 45],则该方法分别考虑2、[23]、45。
- 在这种方法中,您还可以使用索引。
句法:
db.Collection_name.distinct(
field : ,
query : ,
collation :
)
参数:
- 第一个参数是要为其返回不同值的字段。
- 其他是可选的。
可选参数:
- 查询:指定要从中检索不同值的文档的查询。
- collation:指定操作使用的排序规则。它允许用户为字符串比较指定特定于语言的规则,例如字母和重音标记的规则。该参数的类型是文档。
返回:
它返回与给定查询匹配的指定字段的所有不同值的数组。
例子:
在以下示例中,我们正在使用:
Database: gfg
Collections: student
Document: Three documents contains the details of the students
- 返回集合中所有学生的姓名:
db.student.distinct("name")
这里,distinct() 方法返回 name 字段的值。
- 从给定集合中返回嵌入字段的不同值:
db.student.distinct("detail.age")
这里,distinct() 方法返回 age 字段的值。
- 从数组字段返回不同的值
db.student.distinct("marks")
这里,distinct() 方法返回marks 字段的值。