Итак, я пытаюсь написать агрегацию Mongodb с помощью C# Builder, но пока безуспешно.C#

Место общения программистов C#
Ответить
Anonymous
 Итак, я пытаюсь написать агрегацию Mongodb с помощью C# Builder, но пока безуспешно.

Сообщение Anonymous »

Итак, вот конвейер mongodb, который я построил, вы можете взаимодействовать с игровой площадкой mongodb.
Основной процесс:
  • Фильтр
  • Сортировка
  • Группировка по
  • Фасетам

    Подсчет фасетов = найти количество отдельных групп
  • Фасет данных

    Пропустить
  • Возьмите
  • Раскрутите группу
  • Замените корень, чтобы сохранить тип данных в конце.
    < /ul>

Итак, теперь я попробовал написать тот же код на C#, но я продолжаю получать эту ошибку во время выполнения

Код: Выделить всё

The input type to stage[0] was expected to be BookRepository+GroupedGenere, but was Book. (Parameter 'stages') 
По сути, я понимаю, что фасет не рад получить сгруппированный тип в качестве типа ввода AggregateFacet.Create("count", PipelineDefinition .Create(...))

Код: Выделить всё

var filter = Builders.Filter.Eq(b => b.Year, year);

var count = AggregateFacet.Create("count", PipelineDefinition
.Create(new[]
{
PipelineStageDefinitionBuilder.Count()
})
);

var data = AggregateFacet.Create("data", PipelineDefinition.Create(new IPipelineStageDefinition[]
{
PipelineStageDefinitionBuilder.Skip(skip),
PipelineStageDefinitionBuilder.Limit(take),
PipelineStageDefinitionBuilder.Unwind(b => b.Documents),
}));

var pipeline = new EmptyPipelineDefinition()
.Match(filter)
.Sort(Builders.Sort.Descending(b => b.author))
.Group(b => b.genere, g => new Groupe
\dGenere
{
Id = g.Key,
Documents = g.ToList()
})
.Facet(count, data);

var books = await _collection.Aggregate(pipeline, cancellationToken: token).ToListAsync(token);
После этого я попытался выполнить группировку в самом фасете, чтобы сохранить тот же тип данных, что и модель данных mongo db (тип коллекции)
Но не получается создать группу внутри фасета, кто-нибудь пробовал это сделать? В C# используется строго типизированный шаблон компоновщика?


Подробнее здесь: https://stackoverflow.com/questions/791 ... but-no-luc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»