MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongoose - Redéfinir la structure du schéma

L'erreur se produit car vous avez déjà défini un schéma, puis vous redéfinissez le schéma. Instanciez le schéma une fois et créez un objet global pour accéder au schéma.

Modifiez votre schéma Person et ajoutez de nouveaux champs

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

Les documents qui ne contiennent pas de champs ajoutés après le remplissage auront ces clés mais avec des valeurs indéfinies.

Pour ne pas ignorer les nouvelles propriétés, vous pouvez unstrict schema

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

Vous pouvez également utiliser le type mixte pour définir quoi que ce soit sur la propriété

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

Et définissez d'autres propriétés dans un champ supplémentaire.