node.js - una - mangosta-ObjectId que hace referencia a un sub-documento
node js rest api mysql (1)
Sí, es posible, pero tiene algunas opciones.
Opción 1: C como un subdocumento
Si realmente desea utilizar subdocumentos, no necesita crear un modelo separado. Necesita cambiar su referencia a la matriz ''c''.
var C = new Schema({...});
var B = new Schema({c: [C]});
var A = new Schema({c: { type: ObjectId, ref: ''ModelB.c'' });
var Model_A = mongoose.model(''ModelA'', A);
var Model_B = mongoose.model(''ModelB'', B);
Opción 2: C como modelo
(Solo presento esto como una alternativa, ya que su ejemplo parece redundante ya que crea ''C'' como un Modelo separado así como también como un subdocumento)
Alternativamente, puede tener sentido tener colecciones separadas, puede crear un modelo de mangosta para cada una. Cada uno será una colección separada:
var Model_A = mongoose.model(''ModelA'', A);
var Model_B = mongoose.model(''ModelB'', B);
var Model_C = mongoose.model(''ModelC'', C);
En este caso, es posible que desee referenciar directamente cada modelo:
var C = new Schema({...});
var B = new Schema({c: { type: ObjectId, ref: ''ModelC'' }});
var A = new Schema({c: { type: ObjectId, ref: ''ModelC'' });
El punto
Sí, es posible, pero debe elegir si desea C como modelo o subdocumento.
¿Sería posible para un ObjectId en ModelA hacer referencia a un subdocumento en el modelo B ?
var C = new Schema({...});
var B = new Schema({c: [C]});
var A = new Schema({c: { type: ObjectId, ref: ''ModelB.ModelC'' });
var Model_A = mongoose.model(''ModelA'', A);
var Model_B = mongoose.model(''ModelB'', B);
var Model_C = mongoose.model(''ModelC'', C);