首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在mongodb中组合distinct on projection

在mongodb中组合distinct on projection
EN

Stack Overflow用户
提问于 2016-06-02 22:03:45
回答 1查看 6.2K关注 0票数 4

我可以在下面的集合上使用一个查询来获取底部的结果吗?

示例:

代码语言:javascript
运行
复制
{
    "_id" : ObectId(xyz),
    "name" : "Carl",
    "something":"else"
},
{
    "_id" : ObectId(aaa),
    "name" : "Lenny",
    "something":"else"
},
{
    "_id" : ObectId(bbb),
    "name" : "Carl",
    "something":"other"
}

我需要一个查询来获得这个结果:

代码语言:javascript
运行
复制
{
    "_id" : ObectId(xyz),
    "name" : "Carl"
},
{
    "_id" : ObectId(aaa),
    "name" : "Lenny"
},

没有相同名称的一组文档。保留哪些_ids并不重要。

EN

回答 1

Stack Overflow用户

发布于 2016-06-03 00:24:52

您可以使用聚合框架来获得此形状,查询可能如下所示:

代码语言:javascript
运行
复制
db.collection.aggregate(
   [     
     {
       $group:
         {
           _id: "$name",
           id: { $first: "$_id" }
         }
     },
     {
      $project:{
          _id:"$id",
          name:"$_id"
          }
      }   
   ]
)

只要你不需要其他字段,这就足够了。如果您需要添加其他字段-请更新文档结构和预期结果。

由于您不关心ids,因此可以将其简化

代码语言:javascript
运行
复制
db.collection.aggregate([{$group:{_id: "$name"}}])
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37594169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档