最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

用猫鼬查找后查询子文档

运维笔记admin11浏览0评论

用猫鼬查找后查询子文档

用猫鼬查找后查询子文档

我正在使用猫鼬,并且具有以下结构的文档:

{
  user: {
    comments: [
      { title: "mpla", active: true },
      { title: "mpla", active: false }
    ]
  }
}
...

如何返回我的所有文档,但只能返回注释数组中的活动注释。

回答如下:

您将必须使用mongodb聚合,因此查询将是:

db.collectionName.aggregate(
 {
   $unwind:  $userments
 }
) 

这将解构comment数组,并将包括其他字段,例如每个文档中包含的id。例如,假设您的文档是:

{ "_id": 1, "user" : 
   { "comments": 
     [ { "title": "mpla", "active" : true }, { "title": "mpla", "active" : false }  }]
    }
}

一旦运行上面给出的查询,它将得到以下文档:

{ "_id": 1, "user" : 
   { "comments": { "title": "mpla", "active" : true }  
   }
 }
}

{ "_id": 1, "user" : 
   { "comments": { "title": "mpla", "active" : false }   
   }
 }
}

您现在可以看到,我们有两个单独的文档,您现在可以使用$ match运算符查询它们,并使用$ group运算符将它们重新组合成一个数组。希望能回答您的问题。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论