MongoDB - 加载一部分文档以便查询

时间:2016-05-10 19:44:06

标签: sql sql-server mongodb nosql

我有一个包含多个客户,月份等的集合。

每个月我都需要针对集合运行一系列查询来检索指标 - 基本上是一堆计数。

这些查询中的大多数具有相同的4或5个过滤器,每个查询还会更改1-2个过滤器。

//standard filters:

{ client: "ABC Corp",
  environment: "Production",
  device: "true",
  registered: "true"
}

//special filters:

{ type: "typeA",
  screen: "screen1"   }

{ type: "typeA",
  screen: "screen2"   }

在MSSQL中,我会创建一个包含4个标准过滤器的视图,并重复查询该视图,应用额外的1-2个过滤器来检索所需的度量标准。

有关MongoDB或基本JS方法可以使用的任何建议吗?我的目标是避免使用相同的标准过滤器反复敲击集合。

由于 V

1 个答案:

答案 0 :(得分:0)

您可以在聚合框架中使用$ out运算符来实现此目的。

  

$out阶段可以将结果输出到新集合

例如:

db.collection.aggregate([
  {
    $match:
      {
        client: "ABC Corp",
        environment: "Production",
        device: "true",
        registered: "true"
      }
  },
  {
    $out: "new_collection"
  }
])

然后,您可以在 new_collection 上运行其他查询。

每次在$ out阶段使用时,都会重新创建“view”集合,但您在该集合中定义的任何索引都将保持不变。