MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Schema del modello Mongoose con matrice di riferimento:CastError:Cast su ObjectId non riuscito per valore [oggetto oggetto]

Lo schema dell'articolo prevede un array di ObjectId :

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

Tuttavia req.body contiene un oggetto categoria:

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

E Mongoose non può convertire l'oggetto categoria in un ObjectId . Questo è il motivo per cui ottieni l'errore. Assicurati di categories in req.body contiene solo ID:

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