sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose - Omdefinierar schemastruktur

Felet uppstår eftersom du redan har ett schema definierat och sedan definierar du schemat igen. Instantiera schemat en gång och make Global-objektet för att komma åt schemat.

Ändra ditt personschema och lägg till nya fält

var personSchema = new Schema({
    firstname: String,
    lastname: String,
    address: String,
    car: String,
    office: String
});

Dokument som inte innehåller tillagda fält efter ifyllning kommer att ha denna nycklar men med odefinierade värden.

För att inte ignorera nya egenskaper kan du avgränsa schemat

var personSchema = new Schema({
        firstname: String,
        lastname: String,
        address: String,
        car: String,
        office: String
    }, {strict: false});

Du kan också använda blandad typ för att ställa in vad som helst till egenskap

var personSchema = new Schema({
            firstname: String,
            lastname: String,
            additional: Mixed
        });

Och ställ in andra egenskaper i ytterligare fält.




  1. På MongoDB hur kan jag begränsa frågan när min återuppringning är inuti hitta?

  2. enkelt röstsystem med MongoDB

  3. Ändra alla mina dokument kapslade dokumentvärde

  4. Kan MongoDB fungera när databasens storlek är större än RAM?