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

Mongoose model Skema med reference array:CastError:Cast to ObjectId mislykkedes for værdi [object Object]

Dit artikelskema forventer et array af ObjectId :

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

Dog req.body indeholder et kategoriobjekt:

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

Og Mongoose kan ikke konvertere kategoriobjektet til et ObjectId . Det er derfor, du får fejlen. Sørg for at categories i req.body indeholder kun id'er:

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


  1. mongodb:brug indlejret dokument eller separate samlinger med referencer

  2. Sådan konfigureres fjederstartwebapp med redis ved hjælp af Docker

  3. Send formulardata til matrix af eksisterende MongoDB-dokument ved hjælp af Express og Mongoose

  4. NoSQL-datastreaming med MongoDB &Kafka