当前位置: 首页 > 知识库问答 >
问题:

有没有办法在MongoDb的一个查询中获得文档和相关的方面?

益承颜
2023-03-14

我想运行一些查询,获取完整数据集中的前X个文档和方面数据
是一次查询还是我必须进行两次查询?(一个用于文档,一个用于面数据)

例如,将以下两个查询统一为一个查询:

db.mycollection.find({tenant:"tenant1", class: "myclass"}).limit(20)
db.mycollection.aggregate( [ {$match: {tenant:"tenant1", class: "myclass"}}, 
                             {$facet: { "typeFacet": [{$sortByCount: "$type"}]}])

共有1个答案

魏威
2023-03-14

对于$match阶段中匹配过滤器的文档,以下聚合将获得前20个(由$limit指定)文档作为“xDocs”方面结果。“typeFacet”方面将应用$sortByCount

$facet管道阶段允许在同一组文档(在本例中为集合中的所有文档)上并行运行多个facet查询。

db.collection.aggregate( [ 
{ $facet: { 
       xDocs: [
           { $match: { tenant: "tenant1", class: "myclass" } },
           { $limit: 20 }
       ],
       typeFacet: [
           { $sortByCount: "$type" }
       ]
} }
] )
 类似资料:
  • 是否可以跳过文档中的第一个记录的名称例如product_detail是集合,它有10个文件的名称苹果和10个文件的名称芒果我可以跳过前2个文件中的每一个?下面的查询跳过苹果中的前2个文档。 不要用两个查询跳过“productInfo.name”:“apple”和“productInfo.name”:“mango”的两个文档,我需要一个,有人能帮我吗?

  • 考虑以下数据结构: 是否有办法使用Cosmos DBSQL在单个查询中选择与“父”相关的所有文档?结果必须包括父、子和grand_child文档。

  • 问题内容: 有没有一种方法可以使用Amazon的Java AWS开发工具包中的单个查询来查询多个哈希键? 这是我的问题;我有一个用于项目状态的数据库表。哈希键是项目的状态(即:新建,已分配,正在处理或已完成)。范围键是一组项目ID。当前,我有一个查询设置,可以简单地找到所有列为“已分配”状态(哈希)的项目,而另一个查询集可以查找“处理中”状态。有没有一种方法可以使用单个查询而不是针对我需要找到的每

  • 本文向大家介绍PHP库 查询Mongodb中的文档ID的方法,包括了PHP库 查询Mongodb中的文档ID的方法的使用技巧和注意事项,需要的朋友参考一下 在IBM我的一份新工作是一名开发的后勤人员。那意味着我的大部分时间是在和数据库打交道。在我的工作流程中,我花了一些时间在MongoDB上面——这是一个文档数据库。但是在通过ID来检索记录这个操作上面我碰到了一些问题。下面的代码是最终版本,以后碰

  • 问题内容: 我是MongoDB的新手。我的样本文件是 我正在尝试更新其通知。我执行此操作的Java代码是: 它不会搜索其文件为。 问题答案: 在这种情况下,您有一个嵌套的文档。您的文档具有一个字段,该字段是一个数组,其中存储有多个子对象。要在子字段中进行搜索,您需要使用点语法: 但是,这将返回整个文档和整个数组。您可能只需要子文档。要对此进行过滤,您需要使用Collection.find的两个参数

  • 我将数据存储到cosmos DB,如下所示,我想获得每个索引的最新数据。索引的数量是可变的,至少为10个。 (简化文档) 目前,我正在查询索引的数量并显示每个索引的结果。 (仅