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());
        }