sql >> Database >  >> NoSQL >> MongoDB

Hoe hetzelfde schema te nesten in mangoest js

De waarschuwing laat je al zien "Je kunt alleen nesten met behulp van refs of arrays.". Dit is een mangoestontwerp.

Maar wat u kunt doen is:

var MySchema = new mongoose.Schema({
    objectId: String,
    parent: {
        type: mongoose.Schema.ObjectId,
        ref: 'MySchema'
    },
})

Dit gebruikt een schema in een schema, waarna je een "pre-save" kunt gebruiken om de gegevens van je ouder bij te werken. Of je kunt een array van refs gebruiken en met slechts 1 element bewaren.

Wat je moet doen is de schema's exporteren en niet de modellen, zodat je het kunt nesten.Zoals dit:

module.exports = MySchema;

Dan heb ik een appModel om de modellen van mijn verzameling schema's in te stellen, zoals deze (app_model.js):

if(mongoose.modelNames().indexOf('mySchema') < 0) mongoose.model('mySchema', mySchema);



  1. mongo-aggregatiequery met mgo-stuurprogramma

  2. Mongodb converteert meerdere objecten naar een array, op zijn plaats, permanent

  3. Nodejs paginering

  4. MongoDB krijgt maximale datum in dubbel geneste array