English 中文(简体)
Mongo Grouping在DB级别不会发生, 也不使用Mongo聚合框架
原标题:Mongo Grouping doesn t happen at DB level and doesn t use Mongo Aggregation Framework

Mongo Grouping 并不在 DB 级别发生, 也没有使用下列代码的 Mongo 聚合框架 。 知道为什么吗? 我必须创建命令文档和 RunCommand, 然后它只使用聚合框架 。

public IEnumerable<IGrouping<TKey, T>> GetItemsByQuery<TKey>(IMongoQuery query, FieldsBuilder fieldsBuilder, Func<T, TKey> groupbyKey)
{ 
    var mongoCursor = collection.FindAs<T>(query);
    mongoCursor.SetFields(fieldsBuilder);
    return mongoCursor.GroupBy(groupbyKey);
}
最佳回答

(1) 聚合框架只是支持MongoDB 2. 1 版本或更高版本的不稳定释放。 它将在服务器2.2 中正式支持。 所以, 除非您正在运行服务器 2. 1 或以上, 否则您将无法获得此功能服务器侧面 。

(2) 驱动程序尚未支持聚合框架。 您可以手动构建聚合, 并使用 db.RunCommand 执行它 。

3) 您正在从一个 MongoCursor 调用无数的扩展方法 。 MongoCursor 确实知道您要它做什么, 因此, 组合会发生在客户端 。 收藏上有一个方法叫做 Group, 但是您需要写一些 javascript 来执行它 。

总而言之,我们还没有一个伟大的汇总故事。在服务器2.2中,这将会改变,但还没有改变。

问题回答

暂无回答




相关问题
Access DB Ref MongoDB

Whats the best way to access/query a DB Ref: UPDATE: users: name, groupref : {$ref:"groups",$id:"ObjectId ..." } } groups: name, topic, country,...,.. Assumption is that user belongs to only one ...

MongoDB nested sets

What re the best practices to store nested sets (like trees of comments) in MongoDB? I mean, every comment can have a parent comment and children-comments (answers). Storing them like this: { ...

MongoMapper and migrations

I m building a Rails application using MongoDB as the back-end and MongoMapper as the ORM tool. Suppose in version 1, I define the following model: class SomeModel include MongoMapper::Document ...

MongoDB takes long for indexing

I have the following setup: Mac Pro with 2 GB of RAM (yes, not that much) MongoDB 1.1.3 64-bit 8 million entries in a single collection index for one field (integer) wanted Calling .ensureIndex(...) ...

Storing and accessing large amounts of data

My application creates pieces of data that, in xml, would look like this: <resource url="someurl"> <term> <name>somename</name> <frequency>somenumber</...

热门标签