如何在mongodb中查询特定的内部对象?

如何在mongodb中查询特定的内部对象?,mongodb,Mongodb,我有一个类似这样的集合“testcase”,测试构建有许多测试用例日志,测试用例日志有许多标记。例如,我有一个查询,其中标记应该有“tag1” 问题是它获取了测试构建的所有测试用例日志。但我只想要“tag1”存在的测试用例日志 例如: { "name" : "TestBuild1" "logs: [ {"name" : "Log1" "tags" : ["tag1","tag2"]}, {"name" : "Log2" "tags" : ["tag3","

我有一个类似这样的集合“testcase”,测试构建有许多测试用例日志,测试用例日志有许多标记。例如,我有一个查询,其中标记应该有“tag1”

问题是它获取了测试构建的所有测试用例日志。但我只想要“tag1”存在的测试用例日志

例如:

{
  "name" : "TestBuild1"
  "logs: [
    {"name" : "Log1"
    "tags" : ["tag1","tag2"]},
    {"name" : "Log2"
    "tags" : ["tag3","tag4"]}
  ]
}

上面的查询返回整个测试构建,但我只想得到带有“Log1”的测试构建,而不是“Log2”。这怎么可能呢?

在MongoDB中,不能从数组中提取部分元素。您需要在客户端将其过滤掉,或者按照说明进行映射/缩减

此功能还有JIRA票据。的精确副本,其中列出了多个答案。
{
  "name" : "TestBuild1"
  "logs: [
    {"name" : "Log1"
    "tags" : ["tag1","tag2"]},
    {"name" : "Log2"
    "tags" : ["tag3","tag4"]}
  ]
}