usando una tutorial servicio nodejs node hacer cómo crear con como node.js mongodb mongoose subdocument

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);