Группа 2 или более полей на mongodb на C# с использованием драйвера Mon go - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь сгруппировать 3 поля «GameName», «MinBet» и «Time», если данные сохранены на SQLDb, мне просто нужно использовать WorkScope.GetAll<Game>().GroupBy(s=> new {s.GameName,s.MinBet,s.Time}), затем выбрать данные для возврата. Но эти данные сохранены в понедельник go, поэтому я не могу сгруппировать их так. У меня есть попытка

var query1 = Mongo.GetAll<History>("history").AsQueryable().GroupBy(s=>new GroupBy( s.GameName, s.MinBet, s.Time )).Select(s => new
            {
                GameId = s.First().GameId,
                GameName = s.Key.GameName,
                MinBet = s.Key.MinBet,
                Time = s.Key.Time,
                TotalWin = s.Where(s => s.WinAmount == 0).Sum(s => s.BetAmount),
                TotalLose = s.Sum(s => s.WinAmount),                  
            }).ToList();

И

var query=Mongo.GetAll<History>("history")
                .Aggregate()
                .Group(
                        s=> new GroupBy
                        (
                            s.GameName,
                            s.MinBet,
                            s.Time
                        ),
                        z=> new
                        {
                            Key=z.Key,                    
                            TotalWin = z.Where(s => s.WinAmount == 0).Sum(s => s.BetAmount),
                            TotalLose = z.Sum(s => s.WinAmount),                               
                            GameId=z.First().Fee
                        }

                    )
                .Project(s=> new
                {
                    GameId=s.GameId,
                    GameName=s.Key.GameName,
                    MinBet=s.Key.MinBet,
                    Time=s.Key.Time,
                    TotalWin=s.TotalWin,
                    TotalLose=s.TotalLose,                        
                }).ToList()
                ;

Это всегда возвращает MongoDB.Bson.BsonSerializationException: No matching creator found. Как я могу сгруппировать его, чтобы иметь правильные данные, такие как SqlDb.

...