MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Schema des Mongoose-Modells mit Referenzarray:CastError:Umwandlung in ObjectId für Wert [object Object] fehlgeschlagen

Ihr Artikelschema erwartet ein Array von ObjectId :

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

Jedoch req.body enthält ein Kategorieobjekt:

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

Und Mongoose kann das Kategorieobjekt nicht in eine ObjectId umwandeln . Aus diesem Grund erhalten Sie den Fehler. Achten Sie auf categories in req.body enthält nur ids:

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