2011-01-30 3 views
3

Я пробовал копаться в Интернете повсюду, но не могу найти для меня жизнь, как использовать этот метод. Я попытался взглянуть на консоль монго, чтобы соотнести эти два, но мой он победил мой мозг. Может ли кто-нибудь помочь мне вообще с этим или указать мне в сторону помощи?C# Mongo Driver - MongoCollection.Group method

Я использую драйвер C# с сайта mongodb.org.

У меня есть следующий документ:

ObjectId Id ObjectId ForeignID

Я хотел бы подсчитать количество документов и группы счетчик на поле ForeignID. Благодаря!

+0

Вы посмотрели документацию (не-C#) на 'group'? http://www.mongodb.org/display/DOCS/Aggregation#Aggregation-Group –

+0

Какой драйвер C# вы используете? Есть несколько вариантов. –

+0

Да, я пробовал это. Я получаю, как делать группу в консоли, но я не могу перевести ее в драйвер :( – poindexter12

ответ

4

Это выглядит немного от (порядок параметров). Это должно быть:

var document = new BsonDocument("count", 0); 
var result = myCollection.Group<BsonDocument>(
    Query.Null, 
    "ForeignId", 
    document, 
    new BsonJavaScript("function(doc, out){ out.count++; }"), 
    null 
); 

Аналогичный пример приведен в тестовом модуле TestGroup в MongoCollectionTests.cs.

+0

лучше поздно, чем никогда, кажется, у нас разные версии драйвера :) – poindexter12

+0

Это работает только сейчас, если вы удалите общий из метода Group. – Vyrotek

0

Я ДУМАЮ Я ответил на мой собственный вопрос, через какой-хакинга:

var document = new BsonDocument("count", 0); 
myCollection.Group<BsonDocument>(
    "ForeignId", 
    null, 
    document, 
    new BsonJavaScript("function(doc, out){ out.count++; }"), 
    null 
); 
Смежные вопросы