sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose - Omdefinerer skemastruktur

Fejlen opstår, fordi du allerede har et skema defineret, og derefter definerer du skemaet igen. Instantiér skemaet én gang og make Global-objektet for at få adgang til skemaet.

Skift dit Person-skema, og tilføj nye felter

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

Dokumenter, der ikke indeholder tilføjede felter efter udfyldning, vil have denne nøgle, men med udefinerede værdier.

For ikke at ignorere nye egenskaber kan du ophæve skemaet

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

Du kan også bruge blandet type til at indstille alt til egenskab

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

Og indstil andre egenskaber i yderligere felt.




  1. MongoDB-forespørgsel med elemMatch til indlejrede array-data

  2. Redis hente alle værdier af listen uden iteration og uden popping

  3. Forespørgsel returnerer mere end forventet resultater

  4. MongoDB-database slettet automatisk