当前位置: 首页 > 面试题库 >

Mongodb的Golang mgo中的聚合

霍弘厚
2023-03-14
问题内容

有人知道我们在mongodb shell中对golang mgo / bson使用的聚合命令等效吗?

像这样:

aggregate([{$match:{my_id:ObjectId("543d171c5b2c1242fe0019")}},{$sort:{my_id:1, dateInfo:1, name:1}},{$group:{_id:"$my_id", lastEntry:{$max: "$dateInfo"},nm:{$last:"$name"}}}])

问题答案:

假设这c是您的收藏夹:

pipe := c.Pipe([]bson.M{{"$match": bson.M{"name":"John"}}})
resp := []bson.M{}
err := pipe.All(&resp)
if err != nil {
  //handle error
}
fmt.Println(resp) // simple print proving it's working

GoDoc参考:

  • Collection.Pipe文档
  • 管道及其方法


 类似资料:
  • 问题内容: 我试图实现使用中去(golang)我的MongoDB查询的一个功能氧化镁包。 以下是我的收藏: 资料夹: 文件: 以下是我编写的在外壳程序上成功运行的查询: 如果我在外壳上运行此脚本,则会得到所需的结果。基本上,集合会返回给我,其中包含通过链接的全部相关内容。我不在这里包括它,因为这个问题似乎已经太久了。 我试图将此查询转换为 mgo 能够解析和执行的内容。在下面的go代码中: 我总是

  • 问题内容: 如何获得Loopback PersistedModel的总和? 似乎没有有关如何实现该目标的文档。 如果可能的话,我想避免不得不查找所有行并将其汇总到Node.js中。 更新 从https://github.com/strongloop/loopback/issues/890尝试示例 我有一个错误 如何获取集合的句柄以在MongoDB集合上手动运行聚合查询? 问题答案: 最终设法使其工

  • 问题内容: 我正在mongodb和nodejs中构建将在意大利使用的应用程序。意大利时区为+02:00。这意味着,如果有人在7月11日的01:am保存了一些数据,则将其保存为7月10日的11:00 pm,作为mongo在UTC中保存的日期。我们需要显示按日期排列的TX计数。所以我按日期进行了分组查询。但它显示前一天的TX。为此应采取的解决方法。 它显示7月10日为2 tx,7月11日为1 tx。但

  • 我在mongodb中有一个非常大的项目集合,其模式无法更改。简化版的样子是这样的: 集合非常大,我无法首先提取应用程序中的所有ip地址,然后计算每个ip地址的事件。 这能用地图/缩小吗。你有什么建议?

  • 我使用Nodejs和MongoDB与expressjs和mongoose库,创建一个具有用户、文章和评论模式的博客API。下面是我使用的模式。