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

如何使用mongodb在spring boot上使用聚合

石俊雄
2023-03-14
db.txn.aggregate([
{ "$match" : { "name" : "piyush"}} ,
{ "$group" : { "_id" : null , "idList" : { "$push" : "$_id"}}} ,
{ "$project" : { "idList" : 1}}
])
{
"_id" : null,
"idList" : [ 
    ObjectId("5c150672ec78951f4c1cff00"), 
    ObjectId("5c150673ec78951f4c1cff01"), 
    ObjectId("5c150673ec78951f4c1cff02")
]}

共有1个答案

阚英睿
2023-03-14

你应该试试这样的方法:

Aggregation aggregation = Aggregation.newAggregation(
        match(Criteria.where("name").is("Piyush")),
        group("_id").push("_id").as("idList")
        project("idList")
    );

您可以在此参考更多详细信息:

https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/

 类似资料:
  • 我想执行一个进行基本分页的聚合查询: 查找属于某个 以下是查询的详细信息: 这将查找所有匹配的文档: 这对文档进行了排序: 这会对文档进行计数,并传递未修改的文档,但我肯定这样做是错误的,因为事情从这里开始变得很奇怪: 这似乎跳过了一些文档: 这本应限制文件,但却没有: 这会返回计数,但不会返回数组中的文档,而是返回每个字段的数组: 结果是: 我哪里弄错了?

  • 我有一套文件。每个文档有两个字段—“代码”和“状态”。我的mongodb集合包含以下文档: 我想按每个代码的状态查找计数。我想要的输出如下所示: 如何使用spring data mongodb实现这一点?我对mongodb很陌生。 更新我已成功编写mongodb查询。这是: 有人能帮助您在spring data mongodb中编写此查询吗?

  • 我需要汇总以下记录中的所有标记: https://gist.github.com/sbassi/5642925 (这个片段中有2个样本记录)并按大小对它们进行排序(首先是出现频率更高的标记)。但是我不想考虑具有特定“user_id”的数据(比方说,2,3,6和12)。 以下是我的尝试(只是聚合,没有过滤和排序): db。用户库。聚合({$unwind:“$annotations.data.tags

  • 我需要筛选此查询,以便不显示值为的文档。当前,我的代码显示以下结果: 我需要一些过滤器,使消失,以便它显示我作为第一个值:。 我以前执行过以下操作:

  • 问题内容: 我有一个聚合管道,其中包括一个像这样的项目: 在mongo shell中可以正常工作。如何在Spring-Mongodb中使用Aggregation框架表达这一点?我见过ProjectionOperationBuilder,ExpressionProjectionOperationBuilder类型,但没有一个示例如何使用它们……有什么建议吗? 问题答案: 如果使用通过管道支持操作员的

  • 问题内容: 我正在尝试使用内部,而不返回匹配的文件。 谁能告诉我哪里出了问题或正确的语法? 我什至尝试更换 问题答案: 就像您链接到的文档中所说的那样,执行此操作的两种方法是: 要么 但是我也尝试了您的第二次尝试,并且效果很好。 顺便说一句,在这种情况下,正则表达式选项没有意义,因为无论如何您只需要一个匹配项。请注意,它甚至没有在文档中列出。