title: How to use mongoose native promise (mpromise) to remove a document and then update another document
body: <p>I am trying to use promises to avoid deep nested callbacks. I have the following code: </p>
  
  <pre><code>exports.destroy = function(req, res) {
    var actionID = req.body.id;
  
    var promise = Action.findById(actionID).exec();
    promise.then(function (action) {
      return Action.remove({'_id': action.id}).exec();
    }).then(function (count, action, something) {
      debugger;
    });
  };
  </code></pre>
  
  <p>My action document Schema contains and array of ObjectIDs referencing child actions:</p>
  
  <pre><code>var ActionSchema = new Schema({
    title: String, // Text to be shown when creating new action
    description: String, // Description if any
    children: { type: [Schema.Types.ObjectId], default: [] }, // JSON.stringified list of children
    nest_level: Number, // how nested we are for children level
  });
  </code></pre>
  
  <p>What I'm trying to do is remove an action document, when that's done and successful, look for all action documents associated with the deleted action (via children field), and remove the deleted action's ObjectID from the 'children' array.</p>
  
  <p>In the debugger section, count gives back the number of deleted documents, action seems to be an empty string, and nothing else is returned (the 'something' variable is undefined).</p>
  
  <p>I have two questions:</p>
  
  <ul>
  <li>How do I go about resolving or rejecting the promise in a mongoose promise? There isn't much information on the internet to follow (usually it's a general promise tutorial).</li>
  <li>If Action.remove().exec() doesn't return a copy of the removed document, how would I do another query to actually update other documents?</li>
  </ul>