public override Task Official_Driver() { var pipeline = BookCollection.Aggregate() .Match(b => b.ID == "5e572df44467000021005692") .Lookup <Book, Author, BsonDocument>( AuthorCollection, b => b.Author.ID, a => a.ID, x => x["authors"]) .AppendStage <Author>("{$replaceWith: { $arrayElemAt: ['$authors', 0] }}") .AppendStage <Author>("{$set: { Age : '34' }}"); return(pipeline.ToListAsync()); }