mongoose nested documents

I have 2 schemas set up in mongoose:

var Job = new mongoose.Schema({
    title: String,
    budget: Number
});

var JobModel = mongoose.model('Job', Job);

var Customer = new mongoose.Schema({
    name: String,
    jobs: [Job]
});

var CustomerModel = mongoose.model('Customer', Customer);

The Customer model has an array of job models.

I am adding a new job as follows:

app.post('/api/jobs', function(req, res){

    var job = new JobModel({
        title: req.body.title,
        budget: req.body.budget
    });

    job.save(function(err){
        if(!err){
            CustomerModel.findById(req.body.customerId, function(err, customer){
                if(!err){
                    customer.jobs.push(job);
                    customer.save(function(err){
                        if(!err){
                            return console.log('saved job to customer');
                        }
                    });
                }
            });
            return console.log('created job');

        } else {
            return console.log(err);
        }
    });

    return res.send(job);
});

When I add a new job and GET all the customers I get which I think is correct:

[{
    "__v": 1,
    "_id": "50f85695771aeeda08000001",
    "name": "Customer1",
    "jobs": [
      {
        "_id": "50fad6985edd968840000002",
        "budget": 100,
        "title": "job1"
      }
    ]
  }, ...]

Now if I update job1, and GET all the jobs, job 1 has been updated (budget is now 500)

[{
    "title": "job1",
    "budget": 500,
    "_id": "50fad6985edd968840000002",
    "__v": 0
  }, ...]

but the job1 in the customers job array remains unchanged.

 [{
        "__v": 1,
        "_id": "50f85695771aeeda08000001",
        "name": "Customer1",
        "jobs": [
          {
            "_id": "50fad6985edd968840000002",
            "budget": 100,
            "title": "job1"
          }
        ]
      }, ...]

Do I therefore need to search the Customer1's job array and find the job1 job and update that also every time I update or delete or am I totally doing the whole nesting thing the wrong way?

I get that the jobs array in customer is an array of objects but I thought that they may be some how just a reference copy of the job rather than a duplicate??

If you use an embedded array of Job documents as you are here, they're completely independent copies and it's up to you to keep them in sync with the separate jobs collection.

The alternative is to have the jobs field of Customer contain an array of ObjectId references to 'Job' and then use Mongoose's query population to populate them on-demand, as needed.

jobs: [{type: Schema.Types.ObjectId, ref: 'Job'}]