Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一些MongoDB查询的帮助_C#_Mongodb_Aggregation Framework - Fatal编程技术网

C# 一些MongoDB查询的帮助

C# 一些MongoDB查询的帮助,c#,mongodb,aggregation-framework,C#,Mongodb,Aggregation Framework,我有这个项目结构(C#): 我想找到日志中最常见的组件,它发生在过去24小时内,类型为warning或error。到目前为止,我已经编写了一个查询,该查询在24小时内为我提供了所有类型为error或warning的日志,但我在使用最常见组件的部分时遇到了问题: var results = collection.Find(Query.And ( Query.Or (

我有这个项目结构(C#):

我想找到日志中最常见的组件,它发生在过去24小时内,类型为warning或error。到目前为止,我已经编写了一个查询,该查询在24小时内为我提供了所有类型为error或warning的日志,但我在使用最常见组件的部分时遇到了问题:

var results = collection.Find(Query.And
                (
                    Query.Or
                    (
                        Query.EQ("type", "Warning"),
                        Query.EQ("type", "Error")
                    ),
                    Query.GT("date", DateTime.Now.AddDays(-1)),
                    Query.LT("date", DateTime.Now)
                )
            );

我需要添加什么才能获得最频繁的组件(以及在过去24小时内使用该组件的日志数)?

您需要使用mongodb map/reduce或group/reduce查询系列,或者更好的是使用聚合框架

请查看本页,了解C#中的示例:

var results = collection.Find(Query.And
                (
                    Query.Or
                    (
                        Query.EQ("type", "Warning"),
                        Query.EQ("type", "Error")
                    ),
                    Query.GT("date", DateTime.Now.AddDays(-1)),
                    Query.LT("date", DateTime.Now)
                )
            );