How to update document in mongo with nested schema

I have the following code:

add_new_patient : function(username,pname,pid,pdesc,callback){
                  var find_md = function(){
                      return function(err,pat){
                        if (err){
                         console.log('Error at adding patient: error at searching for users');
                         callback(2);//In the callback method I'm passing I have specific behavior for error handling for error codes.
                         return;
                        }
                        if (pat.lenth > 0){
                            console.log('searching for md');
                            MD.find({'mdname':username},add_patient(pat));
                        }else{
                            console.log('Error at adding patient: no user found');
                            callback(-1);
                            return;
                       }
                  }}

                   var add_patient = function(pat){
                        return function(err,md){
                       if (err){
                           console.log('Error at adding patient: cannot find md');
                           callback(-1);
                           return;
                       }
                   callback(0);
                   }
              }
              console.log('searching for user '+pid);
              User.find({'name':pid},find_md());
}

And these are my schemas:

var mdSchema = mongoose.Schema({
   mdname : String,
   pacients : [userSchema.ObjectId]
});

var userSchema =mongoose.Schema({
    name : String,
    password : String,
    phone : String,
    history : [{timestamp: Date , heart: Number }],
    md : {mdname: String, contact: Number}
});

As you can guess from the code I want to add patients to the dms. First I search for the pid in the database. If I find a patient I start to look for mds. When I find the md I want to add the patient to the md. Now I don't know how to add them. The schema shows that I have an array of schemaUser, which is the type of patient, but I don't know how to append to it, not how to create an MD model from object from the data I received from the query. Also what should I insert into the array of patients? The _id of the found patient or the whole object?

I managed to solve it in the following way:

var add_patient = function(pat){
        return function(err,md){
            if (err){
                console.log('Error at adding patient: cannot find md');
                callback(-1);
                return;
            }
            var query = {mdname: md.mdname};
            console.log(md);
            var doThis = { $addToSet: { patients: pat._id } };
            console.log(query);
            MD.update(query,doThis,done_adding());
        }
    }

    var done_adding = function(){
        return function(err,dat){
            if (err){
                console.log('Error at the end of adding new patient!');
                callback(-1);
                return;
            }
            console.log('new patient added');
            callback(0);
        }

So what this does is: when I have the md to whom I want to add a patient/user I use the update method, with the $addToSet operation so I will have a set of patients associated with an md. I don't know why, but the same code did not work for me with the $push parameter. Then simply nothing happened and when I set the upsert option to true my whole record in the database was overwritten by the id.