假设我收藏了以下文件:

{
   "family": "Smith",
   "children": [
        {
            "child_name": "John"
        },
        {
            "child_name": "Anna"
        },
    ]
}

{
   "family": "Williams",
   "children": [
        {
            "child_name": "Anna"
        },
        {
            "child_name": "Kevin"
        },
    ]
}

现在,我想以某种方式获得以下所有家庭中唯一的 child 名字列表:
[ "John", "Anna", "Kevin" ]

结果的结构可能不同。如何在MongoDB中实现?应该很简单,但我不知道。我在集合上尝试了aggregate()函数,但是后来我不知道如何应用distinct()函数。

最佳答案

您可以这样做:

db.collection.distinct("children.child_name");

在您的情况下,它返回:
[ "John", "Anna", "Kevin" ]

10-06 16:04