Next.js Discord

Discord Forum

"Can we not connect to MongoDB in middleware?"

Unanswered
European anchovy posted this in #help-forum
Open in Discord
European anchovyOP
[TypeError: mongooseWEBPACK_IMPORTED_MODULE0default(...).connect is not a function

i m getting this error while trying to call connect function in middleware

import { NextResponse } from "next/server";
import { NextRequest } from "next/server";

import { verifyUserToken } from "@/helpers/verifyUserToken";
import { connect } from "./db/config";

// This function can be marked `async` if using `await` inside
export async function middleware(request: NextRequest) {
  const token = request.cookies.get("token")?.value;

  // await verifyUserToken("soddd");

  connect();

  console.log("middleware console ????? request.cookies", request.cookies);

  if (!token) {
    return NextResponse.redirect(new URL("/signup", request.url));
  }
  return null;
}

// See "Matching Paths" below to learn more
export const config = {
  matcher: ["/"],
};



// mongoDB
import mongoose, { ConnectOptions } from "mongoose";

const { MONGO_URL } = process.env;

export const connect = async () => {
  try {
    console.log("mongoose ????", mongoose.connect);

    const mongoURL = MONGO_URL || "mongodb://127.0.0.1:27017/todo";

    await mongoose.connect(mongoURL, {
      useNewUrlParser: true,
      useUnifiedTopology: true,
    } as ConnectOptions);
  } catch (error) {
    console.log("DB connection failed!!!");
    console.log("DB ERROR", error);
  }
};

0 Replies