Проект BsonDocument на тип в конвейере агрегации - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть конвейер агрегации, где я получаю правильный формат BsonDocument, теперь я хочу привести его к фактическому типу.

var msgs =
 _edges
   .Aggregate()
   .Match(e => e.Type == EdgeType && e.From == FromId)
   .Lookup("messages", "To", "_id", "msg")
   .Unwind(b => b["msg"])
   .ReplaceRoot(b => b["msg._xlc"])
   .Project<Message>("{??}")                
   .ToList();

Что мне нужно дать этапу Project, чтобы просто пропустить BsonDocument как есть и привести его к типу Message?Я пробовал "{}", "", b=>b но это просто.Не будет.Budge ..

Я также вижу, что на этапе ReplaceRoot вместо BsonDocument выводится тип BsonValue .. Бит потерян, почему объект станет значением ..?

Справка:)

...