登录
首页 >  Golang >  Go问答

统计符合在 Mgo 中查询条件的文档数量

来源:stackoverflow

时间:2024-03-20 12:21:35 462浏览 收藏

在 Mgo 中获取集合中符合特定查询条件的文档数量,可使用 Query.Count() 方法。通过指定查询条件,该方法返回满足条件的文档数。例如,要获取日期字段大于特定日期的文档数量,可使用以下代码: ``` count, err := coll.Find(bson.M{"ord_dt": bson.M{ "$gt": time.Date(2012, 1, 1, 0, 0, 0, 0, time.UTC), }}).Count() ``` 该代码将返回集合中日期字段大于 2012 年 1 月 1 日的文档数量。

问题内容

我想根据文档中的字段获取集合中的计数。

根据 mongodb 文档,我们可以使用 runcommand() 来执行此操作。 例如:

db.runCommand( { count:'orders',
                 query: { ord_dt: { $gt: new Date('01/01/2012') } }
               } )

但是我该如何在 mgo 中执行此操作?

mgo 中似乎不包含 runco​​mmand。我正在使用 mgo.v2。


解决方案


runcommand()mgo 包中提供,编号为 Database.Run()。有关如何使用它的示例,请参阅此答案:Efficient paging in MongoDB using mgo

但是你想要的可以通过使用 Query.Count() 方法来实现:

coll := ... // obtain collection...

count, err := coll.Find(bson.M{"ord_dt": bson.M{
    "$gt": time.Date(2012, 1, 1, 0, 0, 0, 0, time.UTC),
}}).Count()

好了,本文到此结束,带大家了解了《统计符合在 Mgo 中查询条件的文档数量》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>