title: Meteor.call is returning Error invoking Method 'addToMenu': Internal server error [500]
body: <p>I am new to Meteor and am trying to use a Meteor.call() to push an object to an array in my collection. Here is my code.</p>
  
  <p>My template events map</p>
  
  <pre><code>'click .save': function (event, template) {
  var mealId = Session.get('selected');
  var category = template.find(".category").value;
  var dish = template.find(".dish").value;
   if (category.length &amp;&amp; dish.length) {
    addToMenu({
      category: category,
      dish: dish
    });
  </code></pre>
  
  <p>and my model.js in the shared folder,</p>
  
  <pre><code>addToMenu = function(options) {
  var id = Random.id();
  Meteor.call('addToMenu',_.extend({ _id: id}, options));
  return id;
  };
  
  Meteor.methods({
  createMeal: function(options) {
  check(options, {
    date: String,
    time: String,
    street: String,
    city: String,
    state: String,
    zipcode: String,
    _id: Match.Optional(String)
  });
  
  if (options.street.length &gt; 100)
    throw new Meteor.Error(413, 'Street address too long');
  if (options.city.length &gt; 25)
    throw new Meteor.Error(413, 'City name too long');
  if (options.state.length &gt; 20)
    throw new Meteor.Error(413, 'State name too long');
  if (! this.userId)
    throw new Meteor.Error(403, 'You must be logged in');
  
  var id = options.id || Random.id();
  Meals.insert({
    _id: id,
    owner: this.userId,
    street: options.street,
    city: options.city,
    state: options.state,
    zipcode: options.zipcode,
    date: options.date,
    time: options.time,
    menu: [],
    ingredients: [],
    invited: [],
    rsvps: []
  });
  return id;
  },
  
  
  
  addToMenu: function(options) {
  check(options, {
    category: String,
    dish: String,
    _id: Match.Optional(String)
  });
  if (! this.userId)
    throw new Meteor.Error(403, "You must be logged in to add dishes.");
  if (! mealId)
    throw new Meteor.Error(404, "No such meal");
  Meals.update(mealId, {$addToSet: {menu: {category: options.category, dish:
  options.dish}}});
  },
  </code></pre>
  
  <p>I could have just created a related collection called Menu and set {owner: mealId} but I really wanted to run this exercise of embedded documents on MongoDB.  Any input would be greatly appreciated.</p>