Использование Мангуста с Next-Auth v4

#mongoose #next.js #next-auth

#мангуст #next.js #далее-авт

Вопрос:

Я успешно настроил Next-Auth v4. Теперь я пытаюсь вставить данные с помощью мангуста и, похоже, не могу заставить его работать. В настоящее время я просто создаю базовую модель и вставляю ее в файл lib/mongodb.ts, как показано в примере выше. сервер просто отключается, когда я вызываю к нему api

Мне интересно, могу ли я использовать файл lib/mongodb.ts, как указано в примере Next-Auth, и использовать его с мангустом, чтобы иметь возможность выполнять операции CRUD с mongo atlas. если можно, как я должен использовать мангуста вместе с next-auth v4?

Спасибо

lib/mongodb.ts

 import { MongoClientOptions } from "mongodb"; // This approach is taken from https://github.com/vercel/next.js/tree/canary/examples/with-mongodb import { MongoClient } from "mongodb";  // [CANNOT WORK] import "../server/models/demoModel";  const uri = process.env.MONGODB_URI!; const options = {  useUnifiedTopology: true,  useNewUrlParser: true, } as MongoClientOptions;  let client; let clientPromise;  if (!process.env.MONGODB_URI) {  throw new Error("Please add your Mongo URI to .env.local"); }  if (process.env.NODE_ENV === "development") {  // In development mode, use a global variable so that the value  // is preserved across module reloads caused by HMR (Hot Module Replacement).   // todo global._mongoClientPromise  //@ts-ignore  if (!global._mongoClientPromise) {  client = new MongoClient(uri, options);  //@ts-ignore  global._mongoClientPromise = client.connect();  }  //@ts-ignore  clientPromise = global._mongoClientPromise; } else {  // In production mode, it's best to not use a global variable.  client = new MongoClient(uri, options);  clientPromise = client.connect(); }  // Export a module-scoped MongoClient promise. By doing this in a // separate module, the client can be shared across functions. export default clientPromise as Promiselt;MongoClientgt;;   

Демомодель.ts

 import mongoose from "mongoose";  const { Schema, models, model } = mongoose;  const DemoSchema = new Schema({  title: String, });  export default models.Demo || model("Demo", DemoSchema);