mongoDB Compass 不同查询未呈现任何结果

mongoDB Compass distinct query renders no results

我一直在尝试针对我在 Atlas 中的 mongoDB collection 编写不同的查询。

我想获取在其“MetaData”parent 属性下的“Section”属性中捕获的所有不同值的列表。根据 mongoDB documentation 获取不同值数组的语法如下:

{ distinct: "<collection>", key: "<field>" }

我的示例 collection 名为“简单”,包含以下文档

[{
  "_id": "527c61082241f813c09c722c",
  "MetaData": {
    "Type": "BlogPost",
    "Author": "author1",
    "Section": "section1"
  },
  "Title": "title 1",
  "Description": "..."
},
{
  "_id": "527c61082241f813c09c7050",
  "MetaData": {
    "Type": "BlogPost",
    "Author": "author1",
    "Section": "section1"
  },
  "Title": "title 2",
  "Description": "..."
},
{
  "_id": "527c61082241f813c09c7042",
  "MetaData": {
    "Type": "BlogPost",
    "Author": "author1",
    "Section": "section2"
  },
  "Title": "title 3",
  "Description": "..."
  }
]

然而,当我在 Compass 或 Atlas 中执行以下过滤器查询时 - 没有返回任何结果???

 {distinct: 'simple',key: 'MetaData.Section'}

我期待一个包含“section1”和“section2”的数组

谁能告诉我我做错了什么
谢谢

您需要使用罗盘的聚合框架来获取不同的值

{
   $group:{
     "_id": null,
     "sections": { $addToSet: "$MetaData.Section"}
   }
}