public class Parent
    {
        [BsonId]
        public string Id { get; set; }
        public string Firstname { get; set; }
        public string Lastname { get; set; }
        public List<Child> Children { get; set; }
    }
    public class Child
    {
        [BsonId]
        public string Id { get; set; }
        public string Firstname { get; set; }
        public string Lastname { get; set; }
        public List<Pet> Pets { get; set; }
    }
    public class Pet
    {
        [BsonId]
        public string Id { get; set; }
        public string Name { get; set; }
    }
Inserting the collection with child and Pet
Parent parent = new Parent() { Id = ObjectId.GenerateNewId().ToString(), };
        List<Child> children = new List<Child>();
        List<Pet> pets = new List<Pet>();
        children.Add(new Child()
        {
            Id = ObjectId.GenerateNewId().ToString(),
            Firstname = "Child",
            Lastname = "One"
        });
        children.Add(new Child()
        {
            Id = ObjectId.GenerateNewId().ToString(),
            Firstname = "Child",
            Lastname = "Two"
        });
        pets.Add(new Pet() { Id = ObjectId.GenerateNewId().ToString(), Name = "Fishy" });
        parent.Children = children;
        parent.Children[0].Pets = pets;
        collection.Insert(parent);
After Inserting how can I update the name of the pet to doggy ????