How to join multiple collections with $lookup using c# .Net drive

How can I replicate a query like this with C#. NetDriver?

db.Webs.aggregate([
    {
        $lookup:{
            from: "Task1",       
            localField: "Task1",
            foreignField: "_id", 
            as: "Task1"
        }
    },
    {   $unwind:"$Task1" },
    {
        $lookup:{
            from: "Task2", 
            localField: "Task1.Task2Id", 
            foreignField: "_id",
            as: "Task2"
        }
    },
    {   $unwind:"$Task2" },
    {
        $lookup:{
            from: "Campaigns", 
            localField: "Task2.CampaignId", 
            foreignField: "_id",
            as: "Campaign"
        }
    },
    {   $unwind:"$Campaign" },
    { 
        $project: {
            _id: 1,
            Status : 1,
            Description:1,
            Url:1
            PF : 1,
            ST :"$Task1.Field1",
            WSU : "$Task1.Field2",
            RefName : "$Task1.Field3",
            CampaignName : "$Campaign.Name"
        }
    }
]);