📜  MongoDB - Distinct() 方法

📅  最后修改于: 2022-05-13 01:56:58.455000             🧑  作者: Mango

MongoDB - Distinct() 方法

在 MongoDB 中, distinct()方法在单个集合中查找给定字段的不同值,并在数组中返回结果。它需要三个参数,第一个是返回不同值的字段,其他是可选的。

  • 如果您在分片集群中使用此方法,则此方法可能会返回孤立文档。
  • 在此方法中,如果给定字段的值是一个数组,则此方法将每个数组值视为一个单独的值。例如,如果指定字段的值为[2, [23], 45],则该方法分别考虑2、[23]、45。
  • 在这种方法中,您还可以使用索引。

句法:

db.Collection_name.distinct(
    field : ,
    query : ,
    collation :  
)

参数:

  • 第一个参数是要为其返回不同值的字段。
  • 其他是可选的。

可选参数:

  • 查询:指定要从中检索不同值的文档的查询。
  • collation:指定操作使用的排序规则。它允许用户为字符串比较指定特定于语言的规则,例如字母和重音标记的规则。该参数的类型是文档。

返回:



它返回与给定查询匹配的指定字段的所有不同值的数组。

例子:

在以下示例中,我们正在使用:

  • 返回集合中所有学生的姓名:
db.student.distinct("name")

这里,distinct() 方法返回 name 字段的值。

  • 从给定集合中返回嵌入字段的不同值:
db.student.distinct("detail.age")

这里,distinct() 方法返回 age 字段的值。

  • 从数组字段返回不同的值
db.student.distinct("marks")

这里,distinct() 方法返回marks 字段的值。