Mongoose model Schema with reference array: CastError: Cast to ObjectId failed for value "[object Object]"

Your article schema expects an array of ObjectIds:

var ArticleSchema = new Schema({
  ...
  categories: [{ 
    type: Schema.ObjectId, 
    ref: 'Category' }]
});

However req.body contains a category object:

categories:
   [ { _id: '53c934bbf299ab241a6e0524',
     name: '1111',
     parent: '53c934b5f299ab241a6e0523',
     __v: 0,
     subs: [],
     sort: 1 } ]

And Mongoose can't convert the category object to an ObjectId. This is why you get the error. Make sure categories in req.body only contains ids:

{ title: 'This is title',
  content: '<p>content here</p>',
  categories: [ '53c934bbf299ab241a6e0524' ],
  updated: [ 1405697477413 ] }

Please use mongoose.Schema.Types.Mixed as data type of categories. I had the same issue with saving data array. It works for me.

var mongoose = require('mongoose'),
    Schema = mongoose.Schema;

var ArticleSchema = new Schema({
    created: { type: Date, default: Date.now },
    title: String,
    content: String,
    summary: String,
    categories: [{type: Schema.Types.Mixed }]
});

mongoose.model('Article', ArticleSchema);