MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mongoose/NextJS — Model nie jest zdefiniowany / Nie można nadpisać modelu po skompilowaniu

Udało mi się to naprawić. Pojawiły się tutaj dwa problemy.

1) Zmienna „UserModel” nie istnieje we wstępnym oprogramowaniu pośredniczącym. Rozwiązany przez utworzenie instancji this.constructor, który najwyraźniej rozwiązuje problem (będzie wymagał dalszych testów)

2) Najwyraźniej jest problem z budowaniem wszystkiego przez NextJS, wygląda na to, że próbuje utworzyć nowy model za każdym razem, gdy używam dowolnej funkcji z UserModel. Naprawiono eksportowanie już utworzonego modelu

const mongoose = require("mongoose");
const errorHandler = require("../helpers/errorHandler");

const Schema = mongoose.Schema;

const UserSchema = new Schema({
  userName: String,
  userPassword: String,
  userBanned: Boolean,
  userType: String,
  registeredDate: { type: Date, default: Date.now },
  registeredIP: String,
  lastLoginDate: { type: Date, default: Date.now },
  lastLoginIP: String,
});

UserSchema.pre("save", async function () {
  try {
    const User = this.constructor;
    const userExists = await User.find({
      userName: this.get("userName"),
    })
      .lean()
      .exec();
    if (userExists.length > 0) {
      throw new Error(errorHandler.errors.REGISTER_USERNAME_EXISTS);
    }
  } catch (err) {
    throw new Error(errorHandler.errors.REGISTER_USERNAME_EXISTS);
  }
});

module.exports = mongoose.models.User || mongoose.model("User", UserSchema);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak pogrupować datę kwartalnie?

  2. Jak reaktywnie agregować mongodb w meteor

  3. jak pracować z wieloma akcjami i liczyć za pomocą mongodb?

  4. Grupuj Mongodb i wypychaj z pustymi tablicami

  5. nieprawidłowa sekwencja bajtów w US-ASCII (Ruby 1.9 + rails 2.3.8 + mongodb + mongo_mapper)