MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongoose / NextJS - Mô hình không được xác định / Không thể ghi đè mô hình sau khi được biên dịch

Tôi đã cố gắng sửa chữa nó. Có hai vấn đề ở đây.

1) Biến "UserModel" không tồn tại trong phần mềm trung gian trước. Được giải quyết bằng cách khởi tạo this.constructor dường như giải quyết được vấn đề (sẽ cần thử nghiệm thêm)

2) Rõ ràng có một vấn đề với NextJS khi xây dựng mọi thứ, có vẻ như nó đang cố gắng tạo một mô hình mới bất cứ khi nào tôi sử dụng bất kỳ chức năng nào từ UserModel. Điều này được khắc phục khi xuất mô hình đã được tạo

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. MongoDB, MapReduce và sắp xếp

  2. $ unwind một đối tượng trong khung tổng hợp

  3. MongoDB trên máy Windows 7:Không thể thực hiện kết nối

  4. Truy vấn chỉ tìm kiếm MongoDB trong những giờ cụ thể

  5. Làm cách nào để tôi có thể thực hiện một truy vấn với mongoose từ một hàm sử dụng một tham số?