sql >> Databáze >  >> NoSQL >> MongoDB

Jak vnořit stejné schéma do mongoose js

Varování vám již ukazuje "Můžete vnořit pouze pomocí odkazů nebo polí.". Toto je mangoose design.

Ale co můžete udělat, je:

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

Toto použije schéma uvnitř schématu, pak můžete použít "předběžné uložení" k aktualizaci dat vašeho rodiče. Nebo můžete použít pole refs a ponechat pouze 1 prvek.

Co udělat, je exportovat schémata a ne modely, takže to můžete vnořit takto:

module.exports = MySchema;

Pak mám nějaký appModel pro nastavení modelů mé sbírky schémat, jako je tento (app_model.js):

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



  1. Je špatné používat mongo ObjectId jako ID uživatele?

  2. Draft.js – Nelze získat data z databáze. Chyba křížového původu

  3. ClassCastException během vyhledávání JNDI pro MongoDB, uvnitř WAB, běžící Liberty

  4. Jak promítnout pouze odpovídající pole vnořeného pole v dotazu mongo shell