MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose - Schemastruktur neu definieren

Der Fehler tritt auf, weil Sie bereits ein Schema definiert haben und das Schema dann erneut definieren. Instanziieren Sie das Schema einmal und erstellen Sie ein globales Objekt, um auf das Schema zuzugreifen.

Ändern Sie Ihr Personenschema und fügen Sie neue Felder hinzu

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

Dokumente, die nach dem Ausfüllen keine hinzugefügten Felder enthalten, haben diese Schlüssel, aber mit undefinierten Werten.

Um neue Eigenschaften nicht zu ignorieren, können Sie das Schema aufheben

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

Sie können auch den gemischten Typ verwenden, um alles auf Eigenschaft zu setzen

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

Und legen Sie andere Eigenschaften im zusätzlichen Feld fest.