MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mongoose/NextJS - Model tidak ditentukan / Tidak dapat menimpa model setelah dikompilasi

Saya sudah berhasil memperbaikinya. Ada dua masalah di sini.

1) Variabel "UserModel" tidak ada di pra middleware. Dipecahkan dengan membuat instance this.constructor yang tampaknya memecahkan masalah (akan membutuhkan pengujian lebih lanjut)

2) Tampaknya ada masalah dengan NextJS membangun semuanya, sepertinya mencoba membuat model baru setiap kali saya menggunakan fungsi apa pun dari UserModel. Ini diperbaiki dengan mengekspor model yang sudah dibuat

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. apakah ini pengaturan minimum optimal untuk mongodb untuk memungkinkan sharding/scaling?

  2. Kamus<string, objek>-ke-BsonDocument konversi menghilangkan bidang _t

  3. MongoDB :perbarui seluruh dokumen kecuali _id menggunakan driver C#

  4. Mongoid::Versioning - bagaimana cara memeriksa versi sebelumnya?

  5. Permintaan luwak untuk skema bersarang