MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Erro de validação Mongodb


O erro é meio enigmático e vago para um iniciante. Em palavras leigas, o erro diz

"Você está atribuindo um objeto que é um Array de OBJECT OBJECT a um OBJECT que só pode aceitar referência de um OBJECT contendo OBJECTID".

Embora o objeto que eu estava empurrando no array fosse {object, object} (não tenho certeza por que o Mongoose está dizendo que é [Object object], pode ser que alguém mais proficiente possa me ajudar a descobrir isso) para um objeto que é um ARRAY OF OBJECT IDs , a validação do mangusto falhou.

Para resolver isso, criei um array. Identificados de objetos ObservationModel enviados para essa matriz e atribuídos a essa matriz ao LearningCenter.observations.
var myArray = new Array();

var LearningCenterObject = LearningCenter.LearningCenterModel(timeTable.learningCenter);
for (var i = 0; i < timeTable.learningCenter.observations.length; i++) {
    var ObservationsObject = Observations.ObservationsModel(timeTable.learningCenter.observations[i]);
    myArray.push(ObservationsObject);
}

LearningCenterObject.observations = myArray;